<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;CkIHSHg9cSp7ImA9WhRWF0o.&quot;"><id>tag:blogger.com,1999:blog-14797282</id><updated>2012-01-05T05:35:39.669-08:00</updated><category term="Google Gmail" /><category term="Coldbox" /><category term="Firefox" /><category term="Firebug" /><category term="SQL" /><category term="Javascript" /><category term="Eclipse" /><category term="ModelGlue" /><category term="Unity" /><category term="Debugging" /><category term="ColdSpring" /><category term="Forms" /><category term="ColdFusion" /><category term="Programming" /><category term="Reactor" /><title>Common Man's Rants and Raves</title><subtitle type="html">I tend to focus on development topics of late. Specifically ColdFusion, Coldbox Framework, SQL Server and Eclipse. (And now Transfer ORM, too.)</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://commonmanrants.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://commonmanrants.blogspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/14797282/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Will Belden</name><uri>http://www.blogger.com/profile/17349665110929891661</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="32" src="http://www.belden.net/images/Will-Current-7K.jpg" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>27</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/CommonMansRantsAndRaves" /><feedburner:info uri="commonmansrantsandraves" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><logo>http://www.feedburner.com/fb/images/pub/fb_pwrd.gif</logo><feedburner:browserFriendly>This is an XML content feed. It is intended to be viewed in a newsreader or syndicated to another site, subject to copyright and fair use.</feedburner:browserFriendly><entry gd:etag="W/&quot;DEEEQn0ycSp7ImA9Wx9aEEo.&quot;"><id>tag:blogger.com,1999:blog-14797282.post-3109138119833172531</id><published>2011-03-02T06:36:00.000-08:00</published><updated>2011-03-02T06:36:43.399-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-03-02T06:36:43.399-08:00</app:edited><title>CSS Trick for HTML5, Edit CSS inline for the page</title><content type="html">&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse;"&gt;We all have our favorite RSS feeds to follow and I'm no exception. &amp;nbsp;One my favorites, &lt;a href="http://csstricks.com/"&gt;CSSTricks.com&lt;/a&gt;, had a &lt;a href="http://css-tricks.com/show-and-edit-style-element/"&gt;great post this morning&lt;/a&gt; about how you can use HTML5 along with an easy setup to edit CSS for a page right there *on* the page. &amp;nbsp;Pretty neat trick. &amp;nbsp;Be sure to try the demo!&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;Check it out for yourself:&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;a href="http://css-tricks.com/show-and-edit-style-element/" style="color: #147dba;" target="_blank"&gt;http://css-tricks.com/show-&lt;wbr&gt;&lt;/wbr&gt;and-edit-style-element/&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14797282-3109138119833172531?l=commonmanrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://commonmanrants.blogspot.com/feeds/3109138119833172531/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=14797282&amp;postID=3109138119833172531" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/14797282/posts/default/3109138119833172531?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/14797282/posts/default/3109138119833172531?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CommonMansRantsAndRaves/~3/EzBhjiVCt_Y/css-trick-for-html5-edit-css-inline-for.html" title="CSS Trick for HTML5, Edit CSS inline for the page" /><author><name>Will Belden</name><uri>http://www.blogger.com/profile/17349665110929891661</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="32" src="http://www.belden.net/images/Will-Current-7K.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://commonmanrants.blogspot.com/2011/03/css-trick-for-html5-edit-css-inline-for.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0YNRH4ycCp7ImA9WxFWFUw.&quot;"><id>tag:blogger.com,1999:blog-14797282.post-605250873247150511</id><published>2010-06-02T13:39:00.000-07:00</published><updated>2010-06-02T13:39:55.098-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-06-02T13:39:55.098-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Javascript" /><category scheme="http://www.blogger.com/atom/ns#" term="Firebug" /><category scheme="http://www.blogger.com/atom/ns#" term="Firefox" /><title>Very cool Javascript debugging trick (Firefox, Javascript)</title><content type="html">I'm working along on a page, an interface for some configuration data. &amp;nbsp;I have a javascript validation routine that runs upon hitting save. &amp;nbsp;I had all my various dynamic HTML elements exactly like I wanted them, and didn't want to hard reload the page, yet again, to get the new Javascript code.&lt;br /&gt;
&lt;br /&gt;
In Firefox, I opened Firebug, went to the "Console" tab, and pasted a whole new copy of the function into the console line. &amp;nbsp;After pasting a multiline piece of code into the small console line, a larger side window popped up to allow better editing, also available from the small icon to the bottom right of that section:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_8LHBVmInl0U/TAbBFJI1mWI/AAAAAAAAHzA/MBQhpVQYZLQ/s1600/FirebugConsole.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="145" src="http://2.bp.blogspot.com/_8LHBVmInl0U/TAbBFJI1mWI/AAAAAAAAHzA/MBQhpVQYZLQ/s400/FirebugConsole.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
I proceeded to hit my "Save" button to begin my validation and, volia!, my new function worked correctly with the bug fix in place. &amp;nbsp;And I didn't have to refresh the entire page and start from scratch. &amp;nbsp;Not a bad little trick!&lt;br /&gt;
&lt;br /&gt;
- Will Belden&lt;br /&gt;
Wednesday, June 2, 2010&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14797282-605250873247150511?l=commonmanrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://commonmanrants.blogspot.com/feeds/605250873247150511/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=14797282&amp;postID=605250873247150511" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/14797282/posts/default/605250873247150511?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/14797282/posts/default/605250873247150511?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CommonMansRantsAndRaves/~3/5pL26exN_xA/very-cool-javascript-debugging-trick.html" title="Very cool Javascript debugging trick (Firefox, Javascript)" /><author><name>Will Belden</name><uri>http://www.blogger.com/profile/17349665110929891661</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="32" src="http://www.belden.net/images/Will-Current-7K.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_8LHBVmInl0U/TAbBFJI1mWI/AAAAAAAAHzA/MBQhpVQYZLQ/s72-c/FirebugConsole.jpg" height="72" width="72" /><thr:total>2</thr:total><feedburner:origLink>http://commonmanrants.blogspot.com/2010/06/very-cool-javascript-debugging-trick.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CE4GR348eip7ImA9WxNSEE0.&quot;"><id>tag:blogger.com,1999:blog-14797282.post-2760385734576964419</id><published>2009-08-22T21:43:00.000-07:00</published><updated>2009-08-22T21:48:46.072-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-08-22T21:48:46.072-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Google Gmail" /><title>Gmail Notifier -- Wasn't working, here's the fix...</title><content type="html">For some months now, I've been having errors with Google Gmail Notifier.  Whenever my machine restarts, I'm asked to login for that little app, which I do.  It promptly says "Can't connect..." or some such thing.  I typically just exit the app and don't think about it until my next reboot.  The wheels on the bus go round and round....&lt;br /&gt;&lt;br /&gt;I finally decided to investigate after installing the latest round of Windows Updates (which, of course, nags me to death until I reboot!)  Seems that the culprit lies in the Gmail setting of "always use https" to connect to Gmail.  Apparently that setting prevents the native Gmail Notifier of being able to fetch the data.&lt;br /&gt;&lt;br /&gt;After some brief searching, it appears there is a very simple registry hack (done by double clicking a .reg file in a zip file you can grab.)&lt;br /&gt;&lt;br /&gt;Here's the Google post with the zip and the details:&lt;br /&gt;&lt;a href="http://mail.google.com/support/bin/answer.py?hl=en&amp;amp;answer=9429"&gt;http://mail.google.com/support/bin/answer.py?hl=en&amp;amp;answer=9429&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;- Will Belden&lt;br /&gt;August 22, 2009&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14797282-2760385734576964419?l=commonmanrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://commonmanrants.blogspot.com/feeds/2760385734576964419/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=14797282&amp;postID=2760385734576964419" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/14797282/posts/default/2760385734576964419?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/14797282/posts/default/2760385734576964419?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CommonMansRantsAndRaves/~3/NeVsuwVXt6A/gmail-notifier-wasnt-working-heres-fix.html" title="Gmail Notifier -- Wasn't working, here's the fix..." /><author><name>Will Belden</name><uri>http://www.blogger.com/profile/17349665110929891661</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="32" src="http://www.belden.net/images/Will-Current-7K.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://commonmanrants.blogspot.com/2009/08/gmail-notifier-wasnt-working-heres-fix.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUQAQXs9eCp7ImA9WxNSEE0.&quot;"><id>tag:blogger.com,1999:blog-14797282.post-7190892745229904749</id><published>2009-05-19T09:31:00.000-07:00</published><updated>2009-08-22T21:55:40.560-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-08-22T21:55:40.560-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Javascript" /><category scheme="http://www.blogger.com/atom/ns#" term="ColdFusion" /><title>Better Javascript in Coldfusion</title><content type="html">I gave a presentation today at work on improving your Javascript skills, as it relates to Coldfusion development.  While there were a million things I would've like to cover, I only had an hour. Here are some highlights that might be worth passing on:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Avoid &lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&amp;lt;cfinput&amp;gt; and &amp;lt;cfform&amp;gt;&lt;/span&gt;&lt;br /&gt;These tools, while helping to make your Coldfusion development faster, really cripple us as coders.  I believe that every HTML developer (those who code in PHP, CF, etc.) needs to know Javascript.  The js code generated by Coldfusion is very bulky and not necessarily optimized.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Avoid using Coldfusion variables in your Javascript code.&lt;/span&gt;&lt;br /&gt;Think it through and parameterize your JS rather than being lazy and including #variable# directly in the code.&lt;br /&gt;&lt;img style="width: 593px; height: 285px;" src="http://www.belden.net/images-blog/blog-better-js-01.jpg" alt="Good and Bad Javascript example" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Move your Javascript to external files&lt;/span&gt;&lt;br /&gt;By placing your js in an outside file, linked to by your Coldfusion code, you allow the browsers to cache something that doesn't change too often.  This results in increased bandwidth savings, better logical separation and enforcement of keeping CF out of JS.&lt;br /&gt;&lt;br /&gt;In addition, if you have access to a "resource service" that you can tell to include a particular js file (as opposed to using the &amp;lt;script&amp;gt; tag) you'll be able to implement a minify/pack/gzip solution as well as a combining technique at a later date.  A service like this can prevent multiple script tags for the same file when the HTML is rendered.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Think cross-browser, at all times.&lt;/span&gt;&lt;br /&gt;Sure, maybe today your company says "We only support IE".  But I can almost guarantee you that tomorrow it will be "We only support IE and Firefox."  In one set of code I saw recently, the js would simply reference "myInput.value".  Apparently this works in IE, but doesn't work as well in Firefox.  If they had done a proper getElementById() or even&lt;br /&gt;document.myForm.myInput.value there wouldn't have been issues.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Get behind jQuery (or some Javascipt abstraction library)&lt;/span&gt;&lt;br /&gt;By using a tool like jQuery for DOM element selection, like $('#myInput'), you enable abstraction of how you get the object.  These tools are also optimized differently for different browsers, allowing you to use a single style of object fetching, without writing a lot of "if IE" statements.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li style="font-weight: bold;"&gt;If you name an object, also give it an ID.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li style="font-weight: bold;"&gt;Remember, ID's are meant to be unique amongst all elements on a page.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li style="font-weight: bold;"&gt;If you need to "group" objects, just add a non-styled class element to the objects.  Then you can use something like jQuery to get all the elements with that class.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Don't use versioning in your file names.&lt;/span&gt;&lt;br /&gt;If you have myCode.1.2.3.js and you reference that in your code, then you have to refactor all your pages that reference that file when you want to upgrade.  Just copy that file to myCode.js, then you swap out the files when a newer version comes along with no code changes.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Comment, comment, comment!&lt;/span&gt;&lt;br /&gt;Can't stress this enough.  Even if you're the only developer on the project and always will be, commenting is still valuable.  I can't tell you how many times I've come back to some code, no matter what language I used, and had no immediate recognition of the code I had written or how it worked.  Commenting is so important.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Try dynamic event binding&lt;/span&gt;&lt;br /&gt;If you have 10 phone fields with onblur="formatPhone(this);", why not add a class to those fields, like class="phone".  Then with something like jQuery, you can create an document.ready event that will bind the formatPhone() custom function to all objects of input#phone that it can find.  You could save a whole lot of bandwidth on a site that dishes out such a page frequently.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Remember, there's always more optimization to be done&lt;/span&gt;&lt;br /&gt;Most developers are receiving a paycheck from a company that has hired them to produce results.  Because of this we have to balance speed with quality. Typically, however, a little forethought can go a long way.  Rush, rush, rush is never the answer.  Spend 3 hours now to do it right versus 1 hour to "bang it out" and you'll be spending that 1 hour now and 5 later trying to refactor it and correct it.  (And that's just you....what about other developers on your team that may get saddled with having to fix your poorly thought out code?)&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;- Will Belden&lt;br /&gt;May 19, 2009&lt;br /&gt;Updated: August 22, 2009&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14797282-7190892745229904749?l=commonmanrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://commonmanrants.blogspot.com/feeds/7190892745229904749/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=14797282&amp;postID=7190892745229904749" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/14797282/posts/default/7190892745229904749?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/14797282/posts/default/7190892745229904749?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CommonMansRantsAndRaves/~3/wgCBFU0PSm0/better-javascript-in-coldfusion.html" title="Better Javascript in Coldfusion" /><author><name>Will Belden</name><uri>http://www.blogger.com/profile/17349665110929891661</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="32" src="http://www.belden.net/images/Will-Current-7K.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://commonmanrants.blogspot.com/2009/05/better-javascript-in-coldfusion.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkcCSXs7eyp7ImA9WxVUEk4.&quot;"><id>tag:blogger.com,1999:blog-14797282.post-1356926364554822106</id><published>2009-03-16T14:05:00.000-07:00</published><updated>2009-03-16T14:14:28.503-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-03-16T14:14:28.503-07:00</app:edited><title>SQL Server Error:  Dynamic SQL and 'you must declare scalar variable @whatever'</title><content type="html">A good CF-er friend of mine says blogging about mistakes makes me look bad to potential employers.  I think that it might help someone out there save some time, and to remind myself that I certainly don't know as much as I think I do!&lt;br /&gt;&lt;br /&gt;So here's a fun one for today.&lt;br /&gt;&lt;br /&gt;I had to modify an MSSQL stored procedure to pass an already defined parameter to another proc.  That inner proc helps build dynamic SQL.  So I [roughly] modified the WHERE clause setup of the query like so:&lt;br /&gt;&lt;br /&gt;   SET @dSQL = @dSQL + ' AND PersonId = @PersonId'&lt;br /&gt;&lt;br /&gt;Drove me crazy trying to find out why it kept telling me to declare the variable.  After about 20 minutes of digging, I realized my mistake.&lt;br /&gt;&lt;br /&gt;When the dynamic SQL runs, @PersonId is no longer defined!  Seems obvious now that I mention it, but, well...you had to be there.  The correct syntax is:&lt;br /&gt;&lt;br /&gt;   SET @dSQL = @dSQL + ' AND PersonId = ' + @PersonId&lt;br /&gt;&lt;br /&gt;Again...it might seem obvious now that you're reading it, but trust me...it wasn't at all obvious when I was trying to debug it.&lt;br /&gt;&lt;br /&gt;- Will Belden&lt;br /&gt;March 16, 2009&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14797282-1356926364554822106?l=commonmanrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://commonmanrants.blogspot.com/feeds/1356926364554822106/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=14797282&amp;postID=1356926364554822106" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/14797282/posts/default/1356926364554822106?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/14797282/posts/default/1356926364554822106?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CommonMansRantsAndRaves/~3/tMiWxPWws7Q/sql-server-error-dynamic-sql-and-you.html" title="SQL Server Error:  Dynamic SQL and 'you must declare scalar variable @whatever'" /><author><name>Will Belden</name><uri>http://www.blogger.com/profile/17349665110929891661</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="32" src="http://www.belden.net/images/Will-Current-7K.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://commonmanrants.blogspot.com/2009/03/sql-server-error-dynamic-sql-and-you.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D04FRH86fSp7ImA9WxVXE0o.&quot;"><id>tag:blogger.com,1999:blog-14797282.post-8988051239036373633</id><published>2009-02-11T09:56:00.000-08:00</published><updated>2009-02-11T10:11:55.115-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-02-11T10:11:55.115-08:00</app:edited><title>Trillian Astra -- Awesome hidden feature</title><content type="html">&lt;p&gt;So I've been on the &lt;a href="http://www.trillianastra.com/"&gt;Trillian Astra&lt;/a&gt; (multi-service instant messenger program) beta for some time now.  I totally love it and can't wait for it to go to production so I can pay these guys for their great work.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;I just discovered a nifty feature today by accident and wanted to share.  Typically, I use the custom hotkeys to show and hide the contact list, then double click the contact I want to IM with.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;You can, however, drag individual names or entire groups out of the contact list and drop it, and it will create an always-on-top mini list.  I tend to only IM about three people most of the time, so it fits quite nicely hovering in the corner!&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;img src="http://www.belden.net/images-blog/TrillianFloatingContactList.jpg" /&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Way to go Trillian!&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14797282-8988051239036373633?l=commonmanrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="enclosure" type="image/jpeg" href="http://www.belden.net/images-blog/TrillianFloatingContactList.jpg" length="0" /><link rel="replies" type="application/atom+xml" href="http://commonmanrants.blogspot.com/feeds/8988051239036373633/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=14797282&amp;postID=8988051239036373633" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/14797282/posts/default/8988051239036373633?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/14797282/posts/default/8988051239036373633?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CommonMansRantsAndRaves/~3/YcgmGupOBso/trillian-astra-awesome-hidden-feature.html" title="Trillian Astra -- Awesome hidden feature" /><author><name>Will Belden</name><uri>http://www.blogger.com/profile/17349665110929891661</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="32" src="http://www.belden.net/images/Will-Current-7K.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://commonmanrants.blogspot.com/2009/02/trillian-astra-awesome-hidden-feature.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0UMQHY5fCp7ImA9WxRVGUk.&quot;"><id>tag:blogger.com,1999:blog-14797282.post-7413165618507793537</id><published>2008-11-17T09:12:00.000-08:00</published><updated>2008-11-17T10:08:01.824-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-11-17T10:08:01.824-08:00</app:edited><title>Implementing Transfer Observers across all your decorators, the easy way!</title><content type="html">In our framework, we use Transfer &lt;a href="http://docs.transfer-orm.com/wiki/Writing_Decorators.cfm"&gt;&amp;quot;Decorators&amp;quot;&lt;/a&gt; as a common way to extend the functionality of the generated objects that are based on the configuration XML.&lt;br /&gt;&lt;br /&gt;For this system, we have a record (media) that represents each user upload of images.  For example, we allow multiple profile images to be uploaded, and you can select your current profile image from the &amp;quot;gallery&amp;quot; of your previous uploads.  In addition, however, you can delete these images.  If you're familiar with transfer, you know it's as easy to delete the database record as saying oMedia.delete().  That removes the object from the database and from Transfer's cache.  In this case, however, we also need to remove the actual files from the webserver.&lt;br /&gt;&lt;br /&gt;One possible solution was to create a manager service, and make sure that all media deletions go through it.  However, this removes some of the intuitive nature of Transfer providing a delete() function for you to use.  With Transfer Observers (or &lt;a href="http://docs.transfer-orm.com/wiki/Using_the_Transfer_Event_Model.cfm"&gt;&amp;quot;Transfer Event Model&amp;quot;&lt;/a&gt;), you can easily extend your decorators to do this on the normal delete() call.&lt;br /&gt;&lt;br /&gt;After my initial creation of a mediaObserver.cfc, which I register with Transfer as an observer, I realized I was going down the wrong path.  The problem with this is that all observers registered with Transfer get called on each of these seven events:&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;observerAfterNew, &lt;br /&gt;observerBeforeCreate, &lt;br /&gt;observerAfterCreate, &lt;br /&gt;observerBeforeUpdate, &lt;br /&gt;observerAfterUpdate, &lt;br /&gt;observerBeforeDelete, &lt;br /&gt;observerAfterDelete&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;The problem with that?  Naming my file &lt;u&gt;Media&lt;/u&gt;Observer has nothing to do with my Media records.  The events in the observer get called for &lt;em&gt;any&lt;/em&gt; object that is getting ready to be created, updated, deleted, etc.  So the first thing I did was to rename the file as TransferObserver.cfc.  This is a more generic name, obviously, and reflects more accurately what the file is.&lt;br /&gt;&lt;br /&gt;So...the question remains at this point: How do I get it to fire an event &lt;em&gt;specifically&lt;/em&gt; for my Media records being deleted?  Each of the functions you place in the observer receive a single argument when called: transfer.com.events.TransferEvent&lt;br /&gt;&lt;br /&gt;From that event, you can do:&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;arguments.event.getTransferObject()&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;This gives you the actual Transfer object being modified for this event.  That still doesn't tell us this is the Media object, though.  But we can do this:&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;arguments.event.getTransferObject().getClassName()&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;That returns, in my case, &amp;quot;media.Media&amp;quot;.  Now I know that this is the object I want rather than, say, an invoice, product or customer object.  So I could now write:&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&amp;lt;cfif arguments.event.getTransferObject().getClassName() IS &amp;quot;media.Media&amp;quot;&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;lt;cfset arguments.event.getTransferObject().deleteMyFiles()/&amp;gt;&lt;br /&gt;&amp;lt;/cfif&amp;gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;After writing this, though, it occurred to me that every time I wanted to have a decorator respond to a Transfer event, I would have to modify my TransferObserver.cfc to respond to a new class name.  It seemed that I could perhaps do this in such a way that I could just add a function, with a specific naming convention, to each decorator, &lt;em&gt;as needed&lt;/em&gt;, and it would just &lt;em&gt;work&lt;/em&gt;.  And you can.  Here is the format now for every function I added to the TransferObserver.&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&amp;lt;cffunction name=&amp;quot;actionBeforeDeleteTransferEvent&amp;quot; returntype=&amp;quot;void&amp;quot; access=&amp;quot;public&amp;quot; output=&amp;quot;false&amp;quot; hint=&amp;quot;I am called BEFORE a Transfer object has been deleted from the database.&amp;quot;&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;lt;cfargument name=&amp;quot;event&amp;quot; type=&amp;quot;transfer.com.events.TransferEvent&amp;quot; hint=&amp;quot;The event object&amp;quot; required=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;lt;cfset var stLocal = structNew() /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;lt;cfif structKeyExists(arguments.event.getTransferObject(), &amp;quot;observerBeforeDelete&amp;quot;)&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;cfset arguments.event.getTransferObject().observerBeforeDelete() /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;lt;/cfif&amp;gt;&lt;br /&gt;&amp;lt;/cffunction&amp;gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;What is this?  The Transfer observer looks to see if there is a function named &amp;quot;observerBeforeDelete&amp;quot; in the Transfer object (or the decorated Transfer object, since this function naming convention is not part of Transfer's generated file format).  If the function exists, it calls it. It's that simple, really.&lt;br /&gt;&lt;br /&gt;If you'd like to download the entire TransferObserver file, along with a portion of the Coldspring file showing how to set it up.  I've &lt;a href="http://www.Belden.net/blog/TransferObserver-and-Coldspring-Snippet.zip"&gt;linked it here&lt;/a&gt; on my site as a tiny zip file (1.2K).  Enjoy!&lt;br /&gt;&lt;br /&gt;Just a note:  Performing a structKeyExists() on a Coldfusion component, as in structKeyExists(object, "functionName") is not a guaranteed way of ensuring that "functionName" is indeed a function.  If you have certain property types (like object.propertyName = true), then that "propertyName" is also a structure key.  The correct way is to use the getMetaData() function, then you can ascertain for sure that what you are looking for is actually a function.  However, the getMetaData() is a slow performing method and would decrease performance significantly to implement.  The structKeyExists() should work just find, because you probably won't have a property of the object using this naming convention.  And you can actually use a different decorator naming convention for these event-related functions, too.  The cffunction names in the TransferObserver.cfc must, however, remain as in my example.&lt;br /&gt;&lt;br /&gt;- Will Belden&lt;br /&gt;November 17, 2008&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14797282-7413165618507793537?l=commonmanrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://commonmanrants.blogspot.com/feeds/7413165618507793537/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=14797282&amp;postID=7413165618507793537" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/14797282/posts/default/7413165618507793537?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/14797282/posts/default/7413165618507793537?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CommonMansRantsAndRaves/~3/pzyaG8hmaMA/implementing-transfer-observers-across.html" title="Implementing Transfer Observers across all your decorators, the easy way!" /><author><name>Will Belden</name><uri>http://www.blogger.com/profile/17349665110929891661</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="32" src="http://www.belden.net/images/Will-Current-7K.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://commonmanrants.blogspot.com/2008/11/implementing-transfer-observers-across.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CU8CSXkzcCp7ImA9WxRWGE8.&quot;"><id>tag:blogger.com,1999:blog-14797282.post-3063013786431579365</id><published>2008-11-04T10:12:00.001-08:00</published><updated>2008-11-04T10:37:48.788-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-11-04T10:37:48.788-08:00</app:edited><title>FancyBox, jQuery and z-index</title><content type="html">So yesterday I'm working with the &lt;a href="http://jquery.com/"&gt;jQuery&lt;/a&gt; plugin called &lt;a href="http://fancy.klade.lv/"&gt;FancyBox&lt;/a&gt;. It's a great little popup gizmo, similar to Lightbox, Thickbox, et. al.  But I'm having a problem.  In the page I'm working in, I find that we have some crazy high z-index values having been set.  One of them is 100,000.  Dude.  Crazy.&lt;br /&gt;&lt;br /&gt;Anyway...so I wrote a small jQuery-based javascript to determine the highest z-index value of all the elements within the page.  After some research into the jQuery selectors, I find what I need.  Unfortunately, as I return the .css(&amp;quot;zIndex&amp;quot;) value back from each object, compare it to a running max, I find that in the end the value &amp;quot;auto&amp;quot; is the highest.  That's not helpful.  I end up finding a simple isNumeric() function I can include, but it only checks the characters in the value against numbers and the decimal point.  So I find that, with my routine, 2000 &amp;gt; 100000.  Um...that's not right.  That lets me know, though, that it's not comparing numbers to numbers, but rather numbers and character values.  The parseInt() function solves this.&lt;br /&gt;&lt;br /&gt;In the end, here's the basic function I came up with, how to determine the greatest z-index on the page, using jQuery:&lt;br /&gt;&amp;lt;script&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;var zmax = 0 ;&lt;br /&gt;&amp;nbsp;&amp;nbsp;function buildZMax() {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$('*').each(function() {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var cur = parseInt($(this).css('zIndex'));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;zmax = cur &amp;gt; zmax ? $(this).css('zIndex') : zmax; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;});&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&lt;br /&gt;With this, you can now call buildZMax() and the var zmax will hold the highest value.  Now, that's not all I set out to do.  Getting the highest z-index value was the prelude to modifying my FancyBox setups to &lt;em&gt;make sure the FancyBox is on top&lt;/em&gt; of everything.&lt;br /&gt;&lt;br /&gt;Here's how it ended up looking, though we will modify more today to actually incorporate this functionality directly into the FancyBox code, submit it to the author, and perhaps he'll include it in his next version.  But this will get you by:&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;lt;script&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;var zmax = 0 ;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;function buildZMax() {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$('*').each(function() {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var cur = parseInt($(this).css('zIndex'));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;zmax = cur &amp;gt; zmax ? $(this).css('zIndex') : zmax; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;});&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;function goFancy() {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;buildZMax();&lt;br /&gt;  &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Get all the outermost fancy_wrap id'ed objects built by the FancyBox calls&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// ...then bump the z-index to whatever the highest we found, plus 1&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$('#fancy_wrap').each(function() {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;zmax = zmax + 1 ;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$(this).css(&amp;quot;z-index&amp;quot;, zmax);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Get the overlay children in each iteration of the outer &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// ...fancy_wrap, bump it's z-index up.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$(this).children(&amp;quot;div#fancy_overlay&amp;quot;).each(function() {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;zmax = zmax + 1 ;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$(this).css(&amp;quot;z-index&amp;quot;, zmax);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;});&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// And again for another major child div&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;zmax = zmax + 1 ;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$(this).children(&amp;quot;div#fancy_outer&amp;quot;).each(function() {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;zmax = zmax + 1 ;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$(this).css(&amp;quot;z-index&amp;quot;, zmax);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;});&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;});&lt;br /&gt;&amp;nbsp;});&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;$(document).ready(function(){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$(&amp;quot;a#myFancyLink&amp;quot;).fancybox({&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'frameWidth': 600,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'frameHeight': 600,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'overlayShow': true&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;});&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Call our z-index fixer.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;goFancy() ;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;});&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;lt;/script&amp;gt;&lt;br /&gt;&lt;br /&gt;Now, something a bit important to note here. You very likely, if you're a jQuery user, have other scripts that might be creating objects, etc. as you go along.  It might be beneficial to put your goFancy() call near the end of your document.ready() code to ensure this ends up where you need it.  But the buildZMax() function might very well come in handy for other things you might develop with.&lt;br /&gt;&lt;br /&gt;Also, while the selectors in jQuery are screaming fast, if you know that you never, ever put z-index on anything but, say, &amp;lt;div&amp;gt; tags, then replace the &amp;quot;*&amp;quot; in the line:&lt;br /&gt;  $('*').each(function() {&lt;br /&gt;... with &amp;quot;div&amp;quot; or whatever you apply your z-index'es to.  This will make the whole function run faster, obviously.&lt;br /&gt;&lt;br /&gt;Post a comment if you're interested in our incorporation to Fancybox code directly.&lt;br /&gt;&lt;br /&gt;- Will Belden&lt;br /&gt;Tuesday, November 4, 2008&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14797282-3063013786431579365?l=commonmanrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://commonmanrants.blogspot.com/feeds/3063013786431579365/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=14797282&amp;postID=3063013786431579365" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/14797282/posts/default/3063013786431579365?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/14797282/posts/default/3063013786431579365?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CommonMansRantsAndRaves/~3/Wb5swQITHII/fancybox-jquery-and-z-index.html" title="FancyBox, jQuery and z-index" /><author><name>Will Belden</name><uri>http://www.blogger.com/profile/17349665110929891661</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="32" src="http://www.belden.net/images/Will-Current-7K.jpg" /></author><thr:total>4</thr:total><feedburner:origLink>http://commonmanrants.blogspot.com/2008/11/fancybox-jquery-and-z-index.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0UNQnw4fCp7ImA9WxdQGE0.&quot;"><id>tag:blogger.com,1999:blog-14797282.post-8019108193764279212</id><published>2008-06-18T09:00:00.000-07:00</published><updated>2008-06-18T09:08:13.234-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-06-18T09:08:13.234-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Forms" /><category scheme="http://www.blogger.com/atom/ns#" term="Debugging" /><category scheme="http://www.blogger.com/atom/ns#" term="ColdFusion" /><title>Losing my mind with a form...</title><content type="html">Yesterday I created a form.  I actually had two on the page.  One that did a search, and the results allowed for inline editing.  After saving the values in the fields that accompanied the search results, I wanted the search to run again, showing the saved values.&lt;br /&gt;&lt;br /&gt;Unfortunately, while my save operation worked just fine, the search wouldn't run again.  I didn't understand.  My form variables existed in the form scope, but they were always blank.  I had added the search criteria to hidden variables within the &lt;form&gt; tag, but they just wouldn't process.  I even threw in some onsubmit() javascript testing alerts, which also indicated that the hidden form values were blank.  Looking at the source, prior to submit, I could CLEARLY see the values were there.  See for yourself:&lt;br /&gt;&lt;br /&gt;&amp;lt;form name="saveForm" action="catmappings.cfm" method="post"&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;lt;input type="hidden" name="site" default="#site.siteid#" /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;lt;input type="hidden" name="action" default="saveEdits" /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;lt;input type="hidden" name="searchKey" default="#param.searchKey#" /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;lt;input type="hidden" name="searchGen" default="#param.searchGen#" /&amp;gt;&lt;br /&gt;....&lt;br /&gt;&lt;/form&gt;&lt;br /&gt;&lt;br /&gt;It took me twenty minutes to figure out the problem.  I had copied and edited these from &lt;cfparam&gt; commands.  Instead of value="#whatever#", the all have default="#whatever#".  So you get the fields in the form scope, but, well..no values.&lt;br /&gt;&lt;br /&gt;Maybe this post will save someone 5-10 minutes of their life.  Clearly, I'm never getting those 20 minutes back for mine!&lt;br /&gt;&lt;br /&gt;- Will Belden&lt;br /&gt;June 18, 2008&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14797282-8019108193764279212?l=commonmanrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://commonmanrants.blogspot.com/feeds/8019108193764279212/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=14797282&amp;postID=8019108193764279212" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/14797282/posts/default/8019108193764279212?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/14797282/posts/default/8019108193764279212?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CommonMansRantsAndRaves/~3/Stc7VKK0lfg/losing-my-mind-with-form.html" title="Losing my mind with a form..." /><author><name>Will Belden</name><uri>http://www.blogger.com/profile/17349665110929891661</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="32" src="http://www.belden.net/images/Will-Current-7K.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://commonmanrants.blogspot.com/2008/06/losing-my-mind-with-form.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUICRH0_cCp7ImA9WxZVFEU.&quot;"><id>tag:blogger.com,1999:blog-14797282.post-1014157094389752124</id><published>2008-03-25T15:14:00.002-07:00</published><updated>2008-03-25T15:19:25.348-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-03-25T15:19:25.348-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Programming" /><category scheme="http://www.blogger.com/atom/ns#" term="Eclipse" /><category scheme="http://www.blogger.com/atom/ns#" term="ColdFusion" /><title>Eclipse and getting .htm and .html files to open in CFEclipse...</title><content type="html">I've been working lately with a lot of HTML files that primary templates, read in by ColdFusion and Java for processing.  I love CFEclipse, with it's great color coding making my files easier to read and scan.&lt;br /&gt;&lt;br /&gt;However, with my current "company-provided" Eclipse setup, .htm* files opened in the regular text editor.  I finally figured out how to change it, instead of right clicking on each file in the navigator and selecting "Open With...CFML Editor".&lt;br /&gt;&lt;br /&gt;Select the Window menu, then choose Preferences.  Under General, Editors select File Associations.  Then, scroll down in the list to .htm and .html.  Click on the first, ".htm".  In the bottom section, called "Associated Editors", depending on your configuration, you might see multiple options.  These, apparently, are the choices you have when you right click the specific file.  But highlight "CFML Editor", then click the "Default" button to the right.  Do this again for .html in the top list, and you'll be set!&lt;br /&gt;&lt;br /&gt;- Will Belden&lt;br /&gt;Tuesday, April 25, 2008&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14797282-1014157094389752124?l=commonmanrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://commonmanrants.blogspot.com/feeds/1014157094389752124/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=14797282&amp;postID=1014157094389752124" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/14797282/posts/default/1014157094389752124?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/14797282/posts/default/1014157094389752124?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CommonMansRantsAndRaves/~3/HdJsRnig9co/eclipse-and-getting-htm-and-html-files.html" title="Eclipse and getting .htm and .html files to open in CFEclipse..." /><author><name>Will Belden</name><uri>http://www.blogger.com/profile/17349665110929891661</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="32" src="http://www.belden.net/images/Will-Current-7K.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://commonmanrants.blogspot.com/2008/03/eclipse-and-getting-htm-and-html-files.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkECR3s4eSp7ImA9WxZVEE4.&quot;"><id>tag:blogger.com,1999:blog-14797282.post-3236162827390162162</id><published>2008-03-20T10:36:00.001-07:00</published><updated>2008-03-20T10:37:46.531-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-03-20T10:37:46.531-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Coldbox" /><category scheme="http://www.blogger.com/atom/ns#" term="ColdFusion" /><title>ColdBox Framework, Filename Incorrect error I keep getting...</title><content type="html">If you're using the [awesome] &lt;a href="http://www.coldboxframework.com/"&gt;Coldbox framework&lt;/a&gt; from Luis Majano, you might have run into this error more than once, but can never remember why it happens, even though you've solved it forty million times already.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Application Execution Exception&lt;/strong&gt;&lt;br /&gt;Error Type:  java.io.IOException : [N/A]&lt;br /&gt;&lt;strong&gt;Error Messages:&lt;/strong&gt; The filename, directory name, or volume label syntax is incorrect&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;ID: &lt;/span&gt;CFINCLUDE&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Line: &lt;/span&gt;107&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Template: &lt;/span&gt;C:\[your root]\html\coldbox\system\plugins\renderer.cfc&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Well, here's what it is, so you can quit banging your head.  You've set the view in your handler, but you included the .cfm at the end, like thus:&lt;br /&gt;  &amp;lt;cfset Event.setView("tester/testDumper&lt;span style="font-weight: bold; color: red;"&gt;.cfm&lt;/span&gt;") /&amp;gt;&lt;br /&gt;&lt;br /&gt;Since I've already hit this error many times, and cannot seem to learn from my mistakes, I'm hoping like crazy that actually blogging about it might help me remember for next time!&lt;br /&gt;&lt;br /&gt;- Will Belden&lt;br /&gt;Thursday, March 20, 2008&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14797282-3236162827390162162?l=commonmanrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://commonmanrants.blogspot.com/feeds/3236162827390162162/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=14797282&amp;postID=3236162827390162162" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/14797282/posts/default/3236162827390162162?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/14797282/posts/default/3236162827390162162?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CommonMansRantsAndRaves/~3/Hh--nEyYHsA/coldbox-framework-filename-incorrect.html" title="ColdBox Framework, Filename Incorrect error I keep getting..." /><author><name>Will Belden</name><uri>http://www.blogger.com/profile/17349665110929891661</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="32" src="http://www.belden.net/images/Will-Current-7K.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://commonmanrants.blogspot.com/2008/03/coldbox-framework-filename-incorrect.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C04MQno_fCp7ImA9WB9bGEU.&quot;"><id>tag:blogger.com,1999:blog-14797282.post-2332866174895547655</id><published>2007-12-28T14:36:00.000-08:00</published><updated>2007-12-28T14:46:23.444-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-12-28T14:46:23.444-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Programming" /><category scheme="http://www.blogger.com/atom/ns#" term="SQL" /><title>SQL, WHERE clause vs. JOIN clause conditions...</title><content type="html">Today I found that there's a difference between the a condition in the WHERE clause and in the JOIN clause in a SQL Statement.  Now, I realize there really isn't a difference, but in this case...it made all the difference.&lt;br /&gt;&lt;br /&gt;Here's an approximation of the original SQL:&lt;br /&gt; SELECT A.id_a, B.id_B&lt;br /&gt; FROM apple A&lt;br /&gt;     LEFT JOIN banana B ON B.id_a = A.id_a&lt;br /&gt; WHERE GetDate() BETWEEN B.start_date AND B.end_date&lt;br /&gt;&lt;br /&gt;The idea here is to obviously only get the records where the current date falls in the range provided by the Banana table record.  This worked great in all my scenarios where I had a Banana record.  When I went to try it on a set of Apple records that did not have corresponding Banana record, I got no results at all.&lt;br /&gt;&lt;br /&gt;So I took the WHERE clause (or the line containing the date check) and placed it on the LEFT JOIN clause, like so:&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192);"&gt;  SELECT A.id_a, B.id_B&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192);"&gt;   FROM apple A&lt;/span&gt;&lt;br /&gt;      LEFT JOIN banana B ON B.id_a = A.id_a &lt;span style="color: rgb(153, 0, 0);"&gt;AND GetDate() BETWEEN B.start_date AND B.end_date&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Now it only applies to excluding out of range records in the JOIN only, rather than applying to the result set as a whole.  In the initial flavor of the SQL statement, the date comparison would be made against two NULL values for the date fields.  The Banana record requires those date values if it exists, but I want Apple records even if there is no corresponding Banana record, and do no date comparison at all.  Only exclude the Banana record if the dates are out of range.&lt;br /&gt;&lt;br /&gt;Just a gotcha to keep an eye out for!&lt;br /&gt;&lt;br /&gt;- Will Belden&lt;br /&gt;Friday, December 28, 2007&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14797282-2332866174895547655?l=commonmanrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://commonmanrants.blogspot.com/feeds/2332866174895547655/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=14797282&amp;postID=2332866174895547655" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/14797282/posts/default/2332866174895547655?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/14797282/posts/default/2332866174895547655?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CommonMansRantsAndRaves/~3/DKSri3Q5p48/sql-where-clause-vs-join-clause.html" title="SQL, WHERE clause vs. JOIN clause conditions..." /><author><name>Will Belden</name><uri>http://www.blogger.com/profile/17349665110929891661</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="32" src="http://www.belden.net/images/Will-Current-7K.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://commonmanrants.blogspot.com/2007/12/sql-where-clause-vs-join-clause.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUcASX0zcSp7ImA9WB9SFE8.&quot;"><id>tag:blogger.com,1999:blog-14797282.post-2258174077242424510</id><published>2007-10-03T08:51:00.000-07:00</published><updated>2007-10-03T08:57:28.389-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-10-03T08:57:28.389-07:00</app:edited><title>Apache and Local vs. Remote on the same network...</title><content type="html">Okay...the subject is &lt;span style="font-style: italic;"&gt;almost&lt;/span&gt; misleading.  But not intentionally.  Here's the deal.&lt;br /&gt;&lt;br /&gt;Don't ask why, but I had to reinstall Apache on my laptop.  My laptop is better than my desktop, so I use it as my local development server.  I do all my browsing, Eclipse, graphics, etc. on the desktop, though, because of the bigger screen, keyboard, etc. &lt;br /&gt;&lt;br /&gt;So I reinstall Apache and all of a sudden, I can't get to the site anymore.  (http://local.site.com).  Been doing this for months.  I haven't changed webroot paths, IPs, nothing but the reinstall.  So I'm going crazy and I'm asking all my buddies what could cause this.&lt;br /&gt;&lt;br /&gt;One of them suggests the firewall, but I never use it on my laptop since I'm always behind the router.  So I sweat and sweat some more, about an hour of this.  Finally, I use my old test that I did for testing SMTP servers.  From a command line you can run:&lt;br /&gt;   telnet www.google.com 80&lt;br /&gt;&lt;br /&gt;You get a blank screen, hit enter, escape, whatever and you'll get a bunch of HTML and be returned to the command prompt.  So I tried it with local.site.com and got nothing...but "Connecting to....." until it times out.  So...clearly port 80 is blocked on either the desktop or the laptop. &lt;br /&gt;&lt;br /&gt;On a whim, I pull up the Windows Firewall configuration.  Somehow, it got turned on!  I never turn it on, therefore never thought to check it. &lt;br /&gt;&lt;br /&gt;So, thanks, Tom.  Who would of thought!  You, obviously.&lt;br /&gt;&lt;br /&gt;- Will Belden&lt;br /&gt;October 3, 2007&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14797282-2258174077242424510?l=commonmanrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://commonmanrants.blogspot.com/feeds/2258174077242424510/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=14797282&amp;postID=2258174077242424510" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/14797282/posts/default/2258174077242424510?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/14797282/posts/default/2258174077242424510?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CommonMansRantsAndRaves/~3/YCrqKkz86CE/apache-and-local-vs-remote-on-same.html" title="Apache and Local vs. Remote on the same network..." /><author><name>Will Belden</name><uri>http://www.blogger.com/profile/17349665110929891661</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="32" src="http://www.belden.net/images/Will-Current-7K.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://commonmanrants.blogspot.com/2007/10/apache-and-local-vs-remote-on-same.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEUFRH04cSp7ImA9WB5aF0Q.&quot;"><id>tag:blogger.com,1999:blog-14797282.post-8294869084419033214</id><published>2007-09-14T11:33:00.000-07:00</published><updated>2007-09-14T11:56:55.339-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-09-14T11:56:55.339-07:00</app:edited><title>Network Solutions, Nameservers and DNS work...</title><content type="html">Look -- I've been in this web business for a &lt;span style="font-style: italic;"&gt;long&lt;/span&gt; time.  I first started web design, while doing other programming, back in 1995, 1996?  I know the web.  I'm pretty handy with the concepts of routing, DNS, etc.  I'm no network guru, but after looking up the color sequences, I &lt;span style="font-style: italic;"&gt;can&lt;/span&gt; build an RJ-45 cable.  I even have my own tools.  I've owned a website design business, pretty successful, too.  We had staff and everything before we sold it off.   We made Dallas Business Journal's Top 20 Web Design and Hosting companies three years in a row!&lt;br /&gt;&lt;br /&gt;All this having been said, Network Solutions really angered me today.  I quit using them for personal (or side business) stuff several years ago.  &lt;a href="http://www.godaddy.com/"&gt;GoDaddy&lt;/a&gt; rocks, in my opinion, whereas Network Solutions charges an arm and a leg for less services, less quality.&lt;br /&gt;&lt;br /&gt;Now, even though *I* don't use them anymore, the company I work for does have several domain names registered with NetSol.  That's fine...I'm not sweating it.  But this week I needed to setup a new dedicated server (which I did at &lt;a href="http://www.crystaltech.com/"&gt;CrystalTech &lt;/a&gt;because they also rock) but didn't want to go through the hassle of having our current hosting company do DNS work, when we'll just be leaving them.  And I wanted the control over the DNS records that I'm qualified to have.&lt;br /&gt;&lt;br /&gt;So I finally got access and I see that they offer DNS management, much like GoDaddy does, so I'm thinking "Okay...I can do this."  So I do.&lt;br /&gt;&lt;br /&gt;First problem:  I couldn't setup new DNS entries under the NetSol system unless I went ahead and confirmed that the nameservers would be switched.  Why can't I set it all up, &lt;span style="font-style: italic;"&gt;then&lt;/span&gt; make the nameserver change when I'm ready.  Makes more sense...but &lt;span style="font-style: italic;"&gt;noooooo&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Second problem:  This is the one that really lit me up.  I've done this a million times. I get the DNS concepts.  I understand DNS propagation takes time.  For those of you who might be reading and don't understand, here's a brief explanation.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Zog wants to go to the website for www.foobar.com&lt;/li&gt;&lt;li&gt;Zog asks the Internets to take him there.&lt;/li&gt;&lt;li&gt;Zog's ISP says "foobar.com?"  Wuzzat?&lt;/li&gt;&lt;li&gt;Zog's ISP goes to "the almighty root servers" and asks "Where do I find foobar.com?"&lt;/li&gt;&lt;li&gt;The root servers say "Check with Network Solutions".&lt;/li&gt;&lt;li&gt;Zog's ISP asks NetSol, "Where's foobar.com?"&lt;/li&gt;&lt;li&gt;Netsol says, "I know the answer, you want the www?  Go to IP 266.266.266.5" (Yeah, yeah).&lt;/li&gt;&lt;li&gt;Zog's Firefox says "Okay...I know that www.foobar.com is 266.266.266.5" and goes there.&lt;/li&gt;&lt;/ul&gt;Pretty simple.  Now here's where NetSol screwed up.  When it made itself the active registrar for the domain, it SHOULD have been able to pick up the IP address records VERY quickly.  After all, it's their system.  It's not like with propagation where all the ISP's in the world try to keep a list of domain names and who knows all the mail, www, etc. individual records.  Those only get updated once or twice a day or more, I don't know.&lt;br /&gt;&lt;br /&gt;The point is that NetSol's "worldnic" nameservers should immediately know the answer to "where's the www IP?"  Once you (or an ISP) starts looking there, it should know the answer.  Propagation is about all the ISP's getting the right information.  Propagation is NOT about their own nameservers not knowing how to answer the questions.&lt;br /&gt;&lt;br /&gt;Using &lt;a href="http://www.dnsstuff.com/"&gt;DNSStuff.com&lt;/a&gt;, another great site, tells me whats' going on.  First, it says that I have "lame nameservers".  Other than the obvious pun there, it means that the nameservers associated with my domain name &lt;span style="font-style: italic;"&gt;do not answer authoritatively.&lt;/span&gt;  What?  Why don't they?  Another test on the DNSStuff site tells me that the root servers say "Check NetSol nameserver A".  Nameserver A says "No...check back with the root servers."  The root servers say "Okay...check Nameserver B, then."  Nameserver B says "Check back with the root servers."  Being round-robin, the root servers tell us again, "look at Nameserver A".  You can see where I'm going with this.  DNSStuff.com says it stops automatically after 20 rounds of this crap.&lt;br /&gt;&lt;br /&gt;I didn't expect to bring down the site, email, etc. today.  But I did.  And it's not my fault.  I did everything right, but Network Solutions decided to screw it up.  And then their technical support tries to tell me this is normal.  Lies.   Period.  I've done this &lt;span style="font-style: italic;"&gt;same&lt;/span&gt; thing with GoDaddy enough to know that once you change the nameservers, it should say SOMETHING.  Maybe not what you set in the last five minutes, but something.&lt;br /&gt;&lt;br /&gt;How long will the site be down?  I don't know.  The nice tech support man said that it could be 2 to 3 hours before it has the right information.  And that I should expect this.  Made me angry, but I was polite.  Now I have a batch file running an ipconfig /flushdns and ping www.foobar.com loop running.  It's been running the whole time I've been writing this, and for an hour and a half before.  Let's call it about one hour and 45 minutes.  And it's still not working.&lt;br /&gt;&lt;br /&gt;As soon as I get this straightened out, I'm moving the domain name to GoDaddy, where domain names belong.&lt;br /&gt;&lt;br /&gt;- Will Belden&lt;br /&gt;September 14, 2007&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14797282-8294869084419033214?l=commonmanrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://commonmanrants.blogspot.com/feeds/8294869084419033214/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=14797282&amp;postID=8294869084419033214" title="8 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/14797282/posts/default/8294869084419033214?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/14797282/posts/default/8294869084419033214?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CommonMansRantsAndRaves/~3/eSW9YCv4Dvw/network-solutions-nameservers-and-dns.html" title="Network Solutions, Nameservers and DNS work..." /><author><name>Will Belden</name><uri>http://www.blogger.com/profile/17349665110929891661</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="32" src="http://www.belden.net/images/Will-Current-7K.jpg" /></author><thr:total>8</thr:total><feedburner:origLink>http://commonmanrants.blogspot.com/2007/09/network-solutions-nameservers-and-dns.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DU8FSHk-fSp7ImA9WB5aFEg.&quot;"><id>tag:blogger.com,1999:blog-14797282.post-6653451873007678298</id><published>2007-09-10T13:36:00.000-07:00</published><updated>2007-09-10T13:56:59.755-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-09-10T13:56:59.755-07:00</app:edited><title>Illudium PU-36 Code Generator and Matching table and column names...</title><content type="html">First, let me say that I &lt;span style="font-style: italic;"&gt;love&lt;/span&gt; the &lt;a href="http://code.google.com/p/cfcgenerator/"&gt;Illudium PU-36 Code Generator&lt;/a&gt;.   It has made my life a lot simpler, even when I find myself editing the xslt files to get code more like I want.    But I truly cannot imagine life without it since &lt;a href="http://www.robgonda.com/"&gt;Rob Gonda&lt;/a&gt; introduced me to it.&lt;br /&gt;&lt;br /&gt;I will readily admit that I may not have the latest version. Once you start editing those xslt files, you kinda want to stick with it.  But I ran into this issue today, and it took me a bit to figure it out.  Here's the error:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);font-size:85%;" &gt;&lt;span style="font-family:verdana;"&gt;  Bean creation exception in com.model.vendorTypeA.vendorTypeAService&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;  Cannot declare local variable vendorTypeA twice.:Local variables cannot&lt;br /&gt;have the same names as parameters or other local variables.:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;  Line: -1&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Obviously a line number of -1 isn't helping.  It did tell me, though, that the object can't be created.  This error, technically, is thrown by Coldspring, but has nothing to do with it.&lt;br /&gt;&lt;br /&gt;The issue here is that I have a table called "vendorTypeA".  It has a field called "vendorTypeA".  This is bad.  Here's the code portion, and it seems obvious, once you've been through this.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;&amp;lt;cffunction name="createVendorTypeA" access="public" output="false" returntype="com.model.vendorTypeA.vendorTypeA"&amp;gt;&lt;br /&gt;     &amp;lt;cfargument name="vendorTypeID_A" type="numeric" required="true" /&amp;gt;&lt;br /&gt;     &amp;lt;&lt;span style="color: rgb(204, 0, 0); font-weight: bold;"&gt;cfargument name="vendorTypeA"&lt;/span&gt; type="string" required="false" /&amp;gt;&lt;br /&gt;     &amp;lt;cfargument name="isActive" type="boolean" required="false" /&amp;gt;&lt;br /&gt;&lt;br /&gt;     &amp;lt;&lt;span style="font-weight: bold; color: rgb(204, 0, 0);"&gt;cfset var vendorTypeA&lt;/span&gt; = createObject("component","com.model.vendorTypeA.vendorTypeA").init(argumentCollection=arguments) /&amp;gt;&lt;br /&gt;     &amp;lt;cfreturn vendorTypeA /&amp;gt;&lt;br /&gt; &amp;lt;/cffunction&amp;gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;          &lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;Note the two portions in bold, red.  I have an argument of "vendorTypeA" and I'm trying to create a local variable of the same name.  One is the field, the other is the object, which uses the table name as the object name.  The easy solution here is to simply add "_obj" to the last two lines, as in:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;&amp;lt;cfset var vendorTypeA&lt;span style="font-weight: bold; color: rgb(0, 102, 0);"&gt;_obj&lt;/span&gt;= createObject("component","com.model.vendorTypeA.vendorTypeA").init(argumentCollection=arguments) /&amp;gt;&lt;br /&gt;&amp;lt;cfreturn vendorTypeA&lt;span style="font-weight: bold; color: rgb(0, 102, 0);"&gt;_obj&lt;/span&gt; /&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;Problem solved.  Now the object can be created, either "manually" or through Coldspring.&lt;br /&gt;&lt;br /&gt;- Will Belden&lt;br /&gt;September 10, 2007&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14797282-6653451873007678298?l=commonmanrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://commonmanrants.blogspot.com/feeds/6653451873007678298/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=14797282&amp;postID=6653451873007678298" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/14797282/posts/default/6653451873007678298?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/14797282/posts/default/6653451873007678298?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CommonMansRantsAndRaves/~3/mzLImt-2tmQ/illudium-pu-36-code-generator-and.html" title="Illudium PU-36 Code Generator and Matching table and column names..." /><author><name>Will Belden</name><uri>http://www.blogger.com/profile/17349665110929891661</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="32" src="http://www.belden.net/images/Will-Current-7K.jpg" /></author><thr:total>2</thr:total><feedburner:origLink>http://commonmanrants.blogspot.com/2007/09/illudium-pu-36-code-generator-and.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0EASXg4fip7ImA9WB5bGU8.&quot;"><id>tag:blogger.com,1999:blog-14797282.post-7580488486942520343</id><published>2007-09-04T08:35:00.000-07:00</published><updated>2007-09-04T09:00:48.636-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-09-04T09:00:48.636-07:00</app:edited><title>SQL Server 2005, Views, Optimizing and UNION</title><content type="html">I'm not typically a SQL View fan.  I know many who are, and their arguments are all completely valid.  In fact, I'm not much of a trigger or stored procedure fan, even though I clearly understand the benefits.  It's just a "I like to have my code in one place" kind of thing.  Crazy, but there it is.&lt;br /&gt;&lt;br /&gt;Well, I needed a view.  It was a three table UNION'ed join and....I just needed it simpler than putting all that nasty SQL in my ColdFusion objects.  However, my modeling tool, PowerDesigner (PD), isn't always great with views that have computed columns.  This particular view was performing too slowly, so I set about to add some indexes to it.  Because of the PD problem, the indexes couldn't be built through the modeler.  So I'd have to write the index code manually.  As I began looking for the code samples, I found this page:&lt;br /&gt;    &lt;a href="http://www.microsoft.com/technet/prodtechnol/sql/2005/impprfiv.mspx"&gt;Improving Performance with SQL Server 2005 Indexed Views&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;One of the things I found was that if you do a UNION'ed view, and you use the same table names again, you should use different table identifiers.  For example:&lt;br /&gt;&lt;br /&gt;BAD:&lt;br /&gt;SELECT * FROM Table T WHERE T.type="A"&lt;br /&gt;UNION&lt;br /&gt;SELECT * FROM Table T WHERE T.type="B"&lt;br /&gt;&lt;br /&gt;GOOD:&lt;br /&gt;SELECT * FROM Table T&lt;span style="color: rgb(204, 0, 0);"&gt;a&lt;/span&gt; WHERE T&lt;span style="color: rgb(204, 0, 0);"&gt;a&lt;/span&gt;.type="A"&lt;br /&gt;UNION&lt;br /&gt;SELECT * FROM Table T&lt;span style="color: rgb(204, 0, 0);"&gt;b&lt;/span&gt; WHERE T&lt;span style="color: rgb(204, 0, 0);"&gt;b&lt;/span&gt;.type="B"&lt;br /&gt;&lt;br /&gt;When I changed my view's code to have this style, the speed on it more than doubled.  And I hadn't even done the indexes that I was planning.  I will, though...you just watch!&lt;br /&gt;&lt;br /&gt;- Will Belden&lt;br /&gt;September 4, 2007&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14797282-7580488486942520343?l=commonmanrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://commonmanrants.blogspot.com/feeds/7580488486942520343/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=14797282&amp;postID=7580488486942520343" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/14797282/posts/default/7580488486942520343?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/14797282/posts/default/7580488486942520343?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CommonMansRantsAndRaves/~3/_BQjWH5MR0c/sql-server-2005-views-optimizing-and.html" title="SQL Server 2005, Views, Optimizing and UNION" /><author><name>Will Belden</name><uri>http://www.blogger.com/profile/17349665110929891661</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="32" src="http://www.belden.net/images/Will-Current-7K.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://commonmanrants.blogspot.com/2007/09/sql-server-2005-views-optimizing-and.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0AHQno6fyp7ImA9WBBSFk8.&quot;"><id>tag:blogger.com,1999:blog-14797282.post-5091202587813607716</id><published>2006-10-23T11:53:00.000-07:00</published><updated>2006-10-23T11:55:33.417-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2006-10-23T11:55:33.417-07:00</app:edited><title>Server Mechanic game...</title><content type="html">This is a pretty cool gizmo game.  Check it out!&lt;br /&gt;&lt;a href="http://digg.com/playable_web_games/Server_Mechanic/"&gt;http://digg.com/playable_web_games/Server_Mechanic/&lt;/a&gt;&lt;br /&gt;Digg it, if you like it!&lt;br /&gt;&lt;br /&gt;- Will Belden&lt;br /&gt;October 23, 2006&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14797282-5091202587813607716?l=commonmanrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://commonmanrants.blogspot.com/feeds/5091202587813607716/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=14797282&amp;postID=5091202587813607716" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/14797282/posts/default/5091202587813607716?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/14797282/posts/default/5091202587813607716?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CommonMansRantsAndRaves/~3/ZpLEPi4tPN4/server-mechanic-game.html" title="Server Mechanic game..." /><author><name>Will Belden</name><uri>http://www.blogger.com/profile/17349665110929891661</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="32" src="http://www.belden.net/images/Will-Current-7K.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://commonmanrants.blogspot.com/2006/10/server-mechanic-game.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkIDQnc5fCp7ImA9WBNaF0w.&quot;"><id>tag:blogger.com,1999:blog-14797282.post-7375824657935898338</id><published>2006-10-01T06:34:00.000-07:00</published><updated>2006-10-01T06:49:33.924-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2006-10-01T06:49:33.924-07:00</app:edited><title>ColdFusion MX 7, VMWare, VM Shared Folders, Win2003 and Model Glue: Unity</title><content type="html">I found myself using a VMWare workstation setup to run my CF7 server with IIS, JRun (Multiserver) configuration and SQL Server 2000 to handle development for a new project.  I could have used my live production server, but wanted it to be completely separate as I am learning to use Model Glue as my framework.&lt;br /&gt;&lt;br /&gt;Initially, I was simply doing an "upload" via Eclipse to the "server", but the Deployer plugin I use for Eclipse only allows a single file upload, no folders per round.  I often modify four or more files at a time and quickly tired of picking each file, right clicking, choosing Upload, and hitting the spacebar to push the OK button on the "Overwrite...?" dialog.  Times 4.  Wore me out.  ( I have never been able to get the builtin FTP of Eclipse to be my friend.)&lt;br /&gt;&lt;br /&gt;So my next option was to see if I could use the Shared Folders feature to have the website setup in IIS point to that shared folder as the site.  Then I could simply save the file after editing within Eclipse and click Refresh/Reload in the browser.&lt;br /&gt;&lt;br /&gt;( I should note that the "shared folder" of which I speak is on the host machine.  I wanted the VM "server" to see that folder on my real machine, as all my development code is on an external USB drive connected to my network.  - WB)&lt;br /&gt;&lt;br /&gt;Let me say this...the right combo can be a bit tricky.  I think, honestly, more so because I didn't want the ColdSpring, Reactor and ModelGlue folders in the root, which means adding CF Mappings.  (I wish there was another way to do this without adding mappings for the WHOLE server!!!)&lt;br /&gt;&lt;br /&gt;Here was the solution that I came up with after much trial and error.  (I had to reinstall the VM setup this morning and had to trial-and-error it until I got it right again because I didn't have my earlier successful attempt as a reference.  (Blogging here means *I* can find it again if I need it...)&lt;br /&gt;&lt;br /&gt;With the VM Workstation or higher, a "network share" looks like this:&lt;br /&gt;\\.host\Shared Folders\MySite&lt;br /&gt;&lt;br /&gt;Now you can map these to a drive letter, but don't even try it.  Works fine for Windows in general, but not for IIS and CF mappings.&lt;br /&gt;&lt;br /&gt;I buried the Reactor, ColdSpring and ModelGlue folders within [siteroot]\_system\, which meant adding those pesky mappings.&lt;br /&gt;&lt;br /&gt;In the VM's IIS config, you set the Home Directory of the site to:&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;\\.host\Shared Folders\NewDevSite&lt;/span&gt;&lt;br /&gt;...assuming your site is "NewDevSite", which I'm sure it isn't.  You have to make sure that you have the radio button "A share located on another computer" checked first.&lt;br /&gt;&lt;br /&gt;That allows IIS find the site itself.  Then you have the ColdSpring globalConfig rootPath mapping in the ColdSpring.xml file:&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;constructor-arg name="rootPath"&gt;&lt;/constructor-arg&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;        &lt;value&gt;\\.host\Shared Folders\NewDevSite\&lt;/value&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;    &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;And finally...the CF mappings:&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;    \\.host\Shared Folders\NewDevSite\_system\ModelGlue&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The problem was that I had [mis]remembered being able to use a mapped drive in IIS, but you cannot do this, at least I wasn't able to to that.  I tried and tried, but to no avail.&lt;br /&gt;&lt;br /&gt;Hope that helps someone out there!&lt;br /&gt;&lt;br /&gt;- Will Belden&lt;br /&gt;October 1, 2007&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14797282-7375824657935898338?l=commonmanrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://commonmanrants.blogspot.com/feeds/7375824657935898338/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=14797282&amp;postID=7375824657935898338" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/14797282/posts/default/7375824657935898338?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/14797282/posts/default/7375824657935898338?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CommonMansRantsAndRaves/~3/6iy7hw4Z39Y/coldfusion-mx-7-vmware-vm-shared.html" title="ColdFusion MX 7, VMWare, VM Shared Folders, Win2003 and Model Glue: Unity" /><author><name>Will Belden</name><uri>http://www.blogger.com/profile/17349665110929891661</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="32" src="http://www.belden.net/images/Will-Current-7K.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://commonmanrants.blogspot.com/2006/10/coldfusion-mx-7-vmware-vm-shared.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CU8FQX8_fip7ImA9WBNUEkw.&quot;"><id>tag:blogger.com,1999:blog-14797282.post-5892897892141027832</id><published>2006-09-02T08:33:00.000-07:00</published><updated>2006-09-02T09:16:50.146-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2006-09-02T09:16:50.146-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Unity" /><category scheme="http://www.blogger.com/atom/ns#" term="ModelGlue" /><category scheme="http://www.blogger.com/atom/ns#" term="Reactor" /><category scheme="http://www.blogger.com/atom/ns#" term="ColdSpring" /><category scheme="http://www.blogger.com/atom/ns#" term="ColdFusion" /><title>ColdFusion ColdSpring - Evaluate variables in ColdSpring.xml</title><content type="html">&lt;span style="color: rgb(0, 0, 0);font-size:85%;" &gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;As part of my new implementation of ModelGlue:Unity, I found that I have to place the values of different things in many different places. In this situation, that was the applications datasource name, user ID and password. I dislike having more than one or two places to have to place values, in the event they need to change. (A good security policy for databases is to change those passwords every so often.)&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;p  style="color: rgb(0, 0, 0);font-family:trebuchet ms;"&gt;&lt;span style="font-size:85%;"&gt;In my ColdSpring's XML config file, I had attempted to place the following:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style="color: rgb(0, 0, 0);font-size:85%;" &gt;&lt;/span&gt;  &lt;blockquote  style="color: rgb(0, 102, 0);font-family:trebuchet ms;"&gt;&lt;p class="style1"&gt;&lt;span style="font-size:85%;"&gt;&amp;lt;bean id="oDatabase" class="com.oDatabase" &amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style="font-size:85%;"&gt;&amp;lt;constructor-arg name="dbDatasource"&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style="font-size:85%;"&gt;      &amp;lt;value&amp;gt;#APPLICATION.dbName#&amp;lt;/value&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style="font-size:85%;"&gt;   &amp;lt;/constructor-arg&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style="font-size:85%;"&gt;   &amp;lt;constructor-arg name="dbUser"&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style="font-size:85%;"&gt;      &amp;lt;value&amp;gt;#APPLICATION.dbUser#&amp;lt;/value&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style="font-size:85%;"&gt;   &amp;lt;/constructor-arg&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style="font-size:85%;"&gt;   &amp;lt;constructor-arg name="dbPass"&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style="font-size:85%;"&gt;      &amp;lt;value&amp;gt;#APPLICATION.dbPass#&amp;lt;/value&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;span style="font-size:85%;"&gt;   &amp;lt;/constructor-arg&amp;gt;&lt;br /&gt;&amp;lt;/bean&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;span style="color: rgb(0, 0, 0);font-size:85%;" &gt;&lt;span style="font-family:trebuchet ms;"&gt;However, this only resulted in a query error along the lines of a datasource not being found with a name of "#APPLICATION.dbName#".&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;p  style="color: rgb(0, 0, 0);font-family:trebuchet ms;"&gt;&lt;span style="font-size:85%;"&gt;Perhaps my solution to my need is not the best way, since I modified ColdSpring files directly. Perhaps there is even another way, but a couple hours of searching did not reveal the answer to me. I thought &lt;em&gt;"there has to be a way to tell CS to evaluate the XML value entry instead of just seeing it as a literal string."&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style="color: rgb(0, 0, 0);font-size:85%;" &gt;I opened DefaultXMLBeanFactory.cfc in the /coldspring/beans/ directory and modified the "constructBean" function. There are two places you'll find this line, one in a regular bean function setup, I believe, and the other specifically for init() functions.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;blockquote  style="color: rgb(0, 0, 0);font-family:trebuchet ms;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;&amp;lt;cfinvokeargument name="#argDefs[arg].getArgumentName()#" value="#argDefs[arg].getValue()#"/&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;span style="color: rgb(0, 0, 0);font-size:85%;" &gt;&lt;span style="font-family:trebuchet ms;"&gt;I replaced that line with this block:&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;blockquote  style="color: rgb(0, 0, 0);font-family:trebuchet ms;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;&amp;lt;cfset VARIABLES.csTempEval = argDefs[arg].getValue() /&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;&amp;lt;cfif FindNoCase("~~~", VARIABLES.csTempEval) GT 0&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;   &amp;lt;cfset VARIABLES.csTempEval = mid(VARIABLES.csTempEval, 4, 999999) /&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;   &amp;lt;cfset VARIABLES.csTempEval = Evaluate(VARIABLES.csTempEval) /&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;&amp;lt;/cfif&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;&amp;lt;cfinvokeargument name="#argDefs[arg].getArgumentName()#" value="#VARIABLES.csTempEval#"/&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;span style="color: rgb(0, 0, 0);font-size:85%;" &gt;&lt;span style="font-family:trebuchet ms;"&gt;In my ColdSpring XML config file, I changed the section above to look like this:&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;blockquote  style="color: rgb(0, 0, 0);font-family:trebuchet ms;"&gt;&lt;span style="color: rgb(0, 102, 0);font-size:85%;" &gt;&amp;lt;bean id="oDatabase" class="com.oDatabase" &amp;gt;&lt;br /&gt;  &amp;lt;constructor-arg name="dbDatasource"&amp;gt;&lt;br /&gt;     &amp;lt;value&amp;gt;&lt;span style="color: rgb(204, 0, 0); font-weight: bold;"&gt;~~~&lt;/span&gt;#APPLICATION.dbName#&amp;lt;/value&amp;gt;&lt;br /&gt;  &amp;lt;/constructor-arg&amp;gt;&lt;br /&gt;  &amp;lt;constructor-arg name="dbUser"&amp;gt;&lt;br /&gt;     &amp;lt;value&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0);font-size:85%;" &gt;&lt;span style="color: rgb(204, 0, 0); font-weight: bold;"&gt;~~~&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0);font-size:85%;" &gt;#APPLICATION.dbUser#&amp;lt;/value&amp;gt;&lt;br /&gt;  &amp;lt;/constructor-arg&amp;gt;&lt;br /&gt;  &amp;lt;constructor-arg name="dbPass"&amp;gt;&lt;br /&gt;     &amp;lt;value&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0);font-size:85%;" &gt;&lt;span style="color: rgb(204, 0, 0); font-weight: bold;"&gt;~~~&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0);font-size:85%;" &gt;#APPLICATION.dbPass#&amp;lt;/value&amp;gt;&lt;br /&gt;  &amp;lt;/constructor-arg&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0);font-size:85%;" class="style1" &gt;&lt;br /&gt;&amp;lt;/bean&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;span style="color: rgb(0, 0, 0);font-size:85%;" &gt;&lt;span style="font-family:trebuchet ms;"&gt;Voila! Now my ColdSpring dynamically evaluates APPLICATION.dbName instead of trying to use it as a literal. It will only do this is the tag has the three tildes (~~~) at the front. Obviously, you can modify it to do it with any character combination you find more appealing. I would avoid anything too crazy, or anything you might actually want as a true value down the road. I considered having the changes look for anything beginning and ending with "#" characters but that would eliminate the ability for more complex combinations, if needed, such as "myTest_v#APPLICATION.version#" where it evaluates to "myTest_v01" or similar.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;p  style="color: rgb(0, 0, 0);font-family:trebuchet ms;"&gt;&lt;span style="font-size:85%;"&gt;If anyone out there knows of a more ColdSpring acceptable way (that I was unable to find), please let me know. Of course, I made a backup of the original CFC in the event that someone brings it to my attention!&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style="color: rgb(0, 0, 0);font-size:85%;" &gt;&lt;span style="font-family:trebuchet ms;"&gt;Will Belden,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;September 9, 2006&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;p  style="color: rgb(0, 0, 0);font-family:trebuchet ms;"&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style="color: rgb(0, 0, 0);font-size:85%;" &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);font-size:85%;" &gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14797282-5892897892141027832?l=commonmanrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://commonmanrants.blogspot.com/feeds/5892897892141027832/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=14797282&amp;postID=5892897892141027832" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/14797282/posts/default/5892897892141027832?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/14797282/posts/default/5892897892141027832?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CommonMansRantsAndRaves/~3/EsPMBTzCxqo/coldfusion-coldspring-evaluate.html" title="ColdFusion ColdSpring - Evaluate variables in ColdSpring.xml" /><author><name>Will Belden</name><uri>http://www.blogger.com/profile/17349665110929891661</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="32" src="http://www.belden.net/images/Will-Current-7K.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://commonmanrants.blogspot.com/2006/09/coldfusion-coldspring-evaluate.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0ECQXs7fip7ImA9WBNUEU8.&quot;"><id>tag:blogger.com,1999:blog-14797282.post-115712166049696012</id><published>2006-09-01T07:31:00.000-07:00</published><updated>2006-09-01T07:41:00.506-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2006-09-01T07:41:00.506-07:00</app:edited><title>ColdFusion - Crazy Error</title><content type="html">&lt;span style="font-family: trebuchet ms;font-family:arial;font-size:85%;"  &gt;While coding today, I received the following error:&lt;/span&gt;&lt;span style="font-family: trebuchet ms;font-size:85%;" &gt;&lt;br /&gt;&lt;/span&gt;&lt;blockquote style="font-family: trebuchet ms; font-weight: bold; color: rgb(204, 0, 0);"&gt;&lt;span style="font-size:85%;"&gt;"The system has attempted to use an undefined value, which usually indicates a programming error, either in your code or some system code. Null Pointers are another name for undefined values."&lt;/span&gt;&lt;/blockquote&gt;&lt;span style="font-family: trebuchet ms;font-family:arial;font-size:85%;"  &gt;After my initial bafflement, it occurred to me that the problem wasn't where it was saying it was, in a call to the CFC, but rather in the CFC function itself. &lt;span style="font-weight: bold; font-style: italic;"&gt;I had specified a function returntype of "numeric", but had neglected to setup to return anything at all.&lt;/span&gt; Even when I modified the call to the function to not accept a return, as in:&lt;/span&gt;&lt;span style="font-family: trebuchet ms;font-size:85%;" &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: trebuchet ms;font-family:arial;font-size:85%;"  &gt;        myFunctionCall(parm1=value1, parm2=value2) ;&lt;/span&gt;&lt;span style="font-family: trebuchet ms;font-size:85%;" &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: trebuchet ms;font-family:arial;font-size:85%;"  &gt;  instead of&lt;/span&gt;&lt;span style="font-family: trebuchet ms;font-size:85%;" &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: trebuchet ms;font-family:arial;font-size:85%;"  &gt;        myRetVal = myFunctionCall(parm1=value1,&lt;/span&gt;&lt;span style="font-family: trebuchet ms;font-family:arial;font-size:85%;"  &gt; parm2=value2) ;&lt;/span&gt;&lt;span style="font-family: trebuchet ms;font-size:85%;" &gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: trebuchet ms;font-family:arial;font-size:85%;"  &gt;... it still didn't work and threw the same error.&lt;/span&gt;&lt;span style="font-family: trebuchet ms;font-size:85%;" &gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: trebuchet ms;font-family:arial;font-size:85%;"  &gt;Hopefully, if you're having this problem, and search on some of that text, you'll end up here with a search and save yourself some headache!&lt;/span&gt;&lt;span style="font-family: trebuchet ms;font-size:85%;" &gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: trebuchet ms;font-family:arial;font-size:85%;"  &gt;Will Belden&lt;/span&gt;&lt;span style="font-family: trebuchet ms;font-size:85%;" &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: trebuchet ms;font-family:arial;font-size:85%;"  &gt;September 1st, 2006&lt;/span&gt;&lt;span style="font-family: trebuchet ms;font-size:85%;" &gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14797282-115712166049696012?l=commonmanrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://commonmanrants.blogspot.com/feeds/115712166049696012/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=14797282&amp;postID=115712166049696012" title="7 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/14797282/posts/default/115712166049696012?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/14797282/posts/default/115712166049696012?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CommonMansRantsAndRaves/~3/ay-yoXyFp0s/coldfusion-crazy-error.html" title="ColdFusion - Crazy Error" /><author><name>Will Belden</name><uri>http://www.blogger.com/profile/17349665110929891661</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="32" src="http://www.belden.net/images/Will-Current-7K.jpg" /></author><thr:total>7</thr:total><feedburner:origLink>http://commonmanrants.blogspot.com/2006/09/coldfusion-crazy-error.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkINSH06fip7ImA9WBJTFkw.&quot;"><id>tag:blogger.com,1999:blog-14797282.post-114061459930112575</id><published>2006-02-22T05:10:00.000-08:00</published><updated>2006-02-22T05:23:19.316-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2006-02-22T05:23:19.316-08:00</app:edited><title>Not your Personal Conveyance</title><content type="html">You've seen it.  Likely every day if you commute to and from work daily, anyway.  A lone shopping cart, often on it's side, at the entrance to some apartment complex.  Sometimes you'll even see the (apparently vehicle-less) individual or family pushing it along, full of their groceries.&lt;br /&gt;&lt;br /&gt;This...irritates...me...to...no...end.  I can understand needing to purchase groceries.  I can understand not having a vehicle.  I can even fathom being too weak to carry everything you need.  But I cannot comprehend, condone or even conceive of "stealing" a shopping cart to take your purchased goods back to your dwelling.&lt;br /&gt;&lt;br /&gt;Why do people do this?  Pure laziness, in my opinion.  If you don't have a car, then when you walk to and from the grocery store you need to buy less.  Certainly no more than you can carry from point A to point B, whether that distance covers a quarter of a mile or three miles.&lt;br /&gt;&lt;br /&gt;That shopping cart &lt;span style="font-style: italic;"&gt;does not belong to you&lt;/span&gt;!  It's not yours.  That store paid good money for that cart and has to maintain it, clean it, repair it and replace it when it goes missing.  What makes you think you can just run off with it?&lt;br /&gt;&lt;br /&gt;Now, to my detractors who think to holler about "poor" and "indigent" or whatever words you want to synonimize with "lazy" -- don't, okay?  I have been without transportation in the past and I have never STOLEN a grocery cart.  And to be honest, I wouldn't have as much a problem with this concept if it was &lt;span style="font-style: italic;"&gt;returned to the store!&lt;/span&gt;  I'm not above borrowing, but you've got to return the thing.  Now its missing from the store so that when I make a 5:00 pm run to the store to pick up a handful of things and the store is crowded -- I have nothing to use.  Leaving it at a hotel parking lot, the entrance to your apartment complex or beside the road is an unsightly blot on my view.  It makes everyone who lives in that area look like trailer trash.&lt;br /&gt;&lt;br /&gt;Don't buy more than you can carry, get someone to give you a ride back home, grow your own food, whatever.  Quit stealing the shopping carts!  It's NOT your personal conveyance.&lt;br /&gt;&lt;br /&gt;Will Belden&lt;br /&gt;February 22, 2006&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14797282-114061459930112575?l=commonmanrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://commonmanrants.blogspot.com/feeds/114061459930112575/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=14797282&amp;postID=114061459930112575" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/14797282/posts/default/114061459930112575?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/14797282/posts/default/114061459930112575?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CommonMansRantsAndRaves/~3/OfNmCkxvyxA/not-your-personal-conveyance.html" title="Not your Personal Conveyance" /><author><name>Will Belden</name><uri>http://www.blogger.com/profile/17349665110929891661</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="32" src="http://www.belden.net/images/Will-Current-7K.jpg" /></author><thr:total>2</thr:total><feedburner:origLink>http://commonmanrants.blogspot.com/2006/02/not-your-personal-conveyance.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEAEQ3g7eCp7ImA9WBVSFk4.&quot;"><id>tag:blogger.com,1999:blog-14797282.post-113163263679664638</id><published>2005-11-10T06:12:00.000-08:00</published><updated>2005-11-10T06:25:02.600-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2005-11-10T06:25:02.600-08:00</app:edited><title>Customer Service Apologies -- UGH!</title><content type="html">At one point or another we've all needed to contact a vendor's customer serivce department to correct some sort of billing issue or arrange for something to be replaced, corrected or otherwise handled. Invariably, it's a "complaint" of sorts that prompts your call. (After all, how many of us call to say "Good Job, Mr. Vendor"?)&lt;br /&gt;&lt;br /&gt;We are taught as kids that it's not good enough to say "I'm sorry", but rather the apology needs to be indicative of admitting a wrong doing, &lt;span style="font-style: italic;"&gt;with the intention of not doing it again.&lt;/span&gt; When a customer service representative says, over and over, "I apologize for that, Mr. Belden" they are not indicating that they are truly sorry. After all, this particular individual probably had nothing to do with the problem that I'm calling about. Secondly, they aren't making that implied promise of handling the situation better in the future. How can they? They aren't a decision-making individual within their company.&lt;br /&gt;&lt;br /&gt;I think I would find it more satisfactory if they just said "I can understand your frustration, Mr. Belden." This would make far more sense, imply an empathy (that of course they don't possess) and save me the grief of having to say, after their tenth apology, "Please stop apologizing and let's just get it corrected." To which I typically expect them to say, "I'm sorry for all the apologies, Mr. Belden."&lt;br /&gt;&lt;br /&gt;I'm sure all this is laid out in the "Vendor's Guide to Handling Customer Complaints" or whatever little green book that they give all the $4.00/hr customer service call center employees. I think one of the difficulties I have is that I don't care much for following other people's guidelines, but rather feel I am appropriately intelligent to handle the situation well without a script to follow. (Hence I never joined the military!)&lt;br /&gt;&lt;br /&gt;Anyway...a short rant about why I despise calling any customer service center. I also would rather pull my fingernails out than call because I'm pretty sure, from the moment I dial the phone, that whatever I have to be calling about probably won't be fixed anyway. My typical pessimism at work, mind you!&lt;br /&gt;&lt;br /&gt;Will Belden&lt;br /&gt;November 10, 2005&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14797282-113163263679664638?l=commonmanrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://commonmanrants.blogspot.com/feeds/113163263679664638/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=14797282&amp;postID=113163263679664638" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/14797282/posts/default/113163263679664638?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/14797282/posts/default/113163263679664638?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CommonMansRantsAndRaves/~3/VeqXJnyfSzE/customer-service-apologies-ugh.html" title="Customer Service Apologies -- UGH!" /><author><name>Will Belden</name><uri>http://www.blogger.com/profile/17349665110929891661</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="32" src="http://www.belden.net/images/Will-Current-7K.jpg" /></author><thr:total>3</thr:total><feedburner:origLink>http://commonmanrants.blogspot.com/2005/11/customer-service-apologies-ugh.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUMERH86eCp7ImA9WBRQFUQ.&quot;"><id>tag:blogger.com,1999:blog-14797282.post-112359740510542126</id><published>2005-08-09T07:18:00.000-07:00</published><updated>2005-08-09T07:23:25.110-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2005-08-09T07:23:25.110-07:00</app:edited><title>The Beauty of Irfanview...</title><content type="html">I read a &lt;a href="http://www.remotesynthesis.com/blog/index.cfm/2005/8/9/Newscom-Brief-on-FreeHand-MIA-from-Studio-8"&gt;blog post&lt;/a&gt; today about &lt;a href="http://www.macromedia.com"&gt;Macromedia &lt;/a&gt;not including Freehand in their latest product package, Studio 8. the author indicated that he had used Freehand in the past, rarely, to open Illustrator files. Reading this, it occurred to me that the &lt;a href="http://www.irfanview.com"&gt;free graphic viewer Irfanview&lt;/a&gt; is one of my favorite pieces of software.&lt;br /&gt;&lt;br /&gt;Here are some of the reasons I love this program so much:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;It's free.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;It can open almost ANY image, including Photoshop, Illustrator, .gif, .jpg, .png, etc. (Be sure to get the plugins...)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;It can open almost ANY video files, including .mpg, .avi, etc...&lt;/li&gt;&lt;br /&gt;&lt;li&gt;You can do basic operations such as pasting in a screenshot and saving. You can crop, resize, resample, reduce colors or go to grayscale (I often do this when pasting a screenshot into email to minimize message size and bandwidth usage.)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;It has support for basic effects, but also lets you use Adobe .8BF filters, too!&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Did I mention it's free? If not, it's free!&lt;/li&gt;&lt;br /&gt;&lt;li&gt;It's updated frequently. I had v3.95 on my machine when I started this, but found that v3.97 was available. (I updated immediately...!)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;It can whip out thumbnails for a whole directory for quick viewing super fast. Very useful to find a file you seek quickly.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;You can defined an external editor per file type. I have my image files (all types) associated with Irfanview. When I double click a .psd file, it opens there and shows me if it's the file I think it is. Then I can hit SHIFT+E and it opens in Adobe. But I was able to determine if it was the file I was looking for without having to actually load Photoshop.&lt;br /&gt;&lt;img style="BORDER-RIGHT: navy 1px solid; BORDER-TOP: navy 1px solid; BORDER-LEFT: navy 1px solid; BORDER-BOTTOM: navy 1px solid" src="http://www.belden.net/images-blog/PSDInIrfanview.gif" /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;If you haven't ever used this little program I &lt;em&gt;highly&lt;/em&gt; recommend downloading it and trying it. You have nothing to lose, but you might find you'll wonder how you ever lived without it!&lt;br /&gt;&lt;br /&gt;- Will Belden&lt;br /&gt;August 9, 2005&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14797282-112359740510542126?l=commonmanrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://commonmanrants.blogspot.com/feeds/112359740510542126/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=14797282&amp;postID=112359740510542126" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/14797282/posts/default/112359740510542126?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/14797282/posts/default/112359740510542126?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CommonMansRantsAndRaves/~3/tzKrsDTpyLs/beauty-of-irfanview.html" title="The Beauty of Irfanview..." /><author><name>Will Belden</name><uri>http://www.blogger.com/profile/17349665110929891661</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="32" src="http://www.belden.net/images/Will-Current-7K.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://commonmanrants.blogspot.com/2005/08/beauty-of-irfanview.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEAGR3szfip7ImA9WBRRFks.&quot;"><id>tag:blogger.com,1999:blog-14797282.post-112266272657751584</id><published>2005-07-29T11:43:00.000-07:00</published><updated>2005-07-29T11:45:26.586-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2005-07-29T11:45:26.586-07:00</app:edited><title>Shopping Carts and the Lazy People Who Use Them</title><content type="html">When I was in high school in Sugar Land (a suburb of Houston, Texas), like many others, I worked at a grocery store.  I was a sacker, then later a checker.  One of the funnest jobs I've had really.  Of course one of the duties of the sackers wasn't just to put your groceries into the bag and take them out, but also to collect the carts from the parking lot.  At the time, it didn't really bother me that shoppers would go, unload the cart into their car, and then just push the cart onto the grass sections or other areas of the parking lot.  No biggie, it gave me something to do.  At the time, however, I did not own a car. &lt;br /&gt;&lt;br /&gt;As an adult, I don't know if there's anything that bothers me more than people who do this.  It is probably my biggest pet peeve.  The reason it bothers me so much is because people are super lazy.  Most stores place a little section multiple places in the lot where you can place the cart into it, and it has a lip to keep them from rolling back out amongst the parked vehicles.  I have watched people who are parked just across the aisle from the cart return areas and still not put the cart there.&lt;br /&gt;&lt;br /&gt;It's begun to bother me more recently.  We've all heard the stories of the "runaway carts" that invariably put a dent in someone vehicle.  My mother-in-law, Linda, had it happen to her at Wal-Mart.  Some lazy shopper just couldn't find the time or take the effort required to put the cart away and left in a place that it could roll into Linda's car.  She has a nice new Toyota hybrid that she very much loves, but it now has a HUGE dent in the door.  Most people love the cars they have.  Most people take care of it.  The individual who let the cart roll probably has a 2005 Cadillac that they would be very upset to see a scratch on, but don't give another thought to the people who could be affected by their carelessness.&lt;br /&gt;&lt;br /&gt;I see people leaving the cart just whereever, but I don't have what it takes to say something to them.  I'm certainly not going to leave my ice cream to melt and go gather them up and put them away, either.  But I always put my own cart away.  If it's a smaller store that doesn't have a cart return gizmo in the lot, I take it in.&lt;br /&gt;&lt;br /&gt;Shame on Wal-Mart, too.  I can see them saying "Uh, look...we can't be responsible for that."  And I agree.  However, when Linda talked to the store about it, they actually told her they would take care of the cost.  When she told my wife and I this, we couldn't believe.  "Kudos for Wal-Mart" I exclaimed.  I asked her about it roughly two weeks later and she told me that Wal-Mart changed their mind and were not going to cover the cost.  BOO on Wal-Mart!  If they had told her no upfront, that's understandable, but to let Linda believe they were going to pay for it, then dash the hopes...well....that's just piss-poor customer service. &lt;br /&gt;&lt;br /&gt;The worst part is that you, for something you didn't even have anything to do with, can't really report it to your insurance company because that will just raise your rates.  So what happens?  You're disgusted every time you go to your car and see the big dent.&lt;br /&gt;&lt;br /&gt;All because some lazy, irresponsible, selfish shopper couldn't take 15 seconds to walk the cart to the return area.&lt;br /&gt;&lt;br /&gt;PUT YOUR DAMN CART AWAY!  Maybe I'll start saying something to people.  Maybe I'll politely ask them to put their cart away.  Maybe, while they are getting into their car, I'll walk in front of them, grab the cart, scowl and put it where it belongs.  Maybe I'll just get angrier.  Maybe I won't do anything.  But you can bet I'm "ranting" about it here.  This is the primary reason I started this blog, so I could complain (out loud) about lazy people and their runaway shopping carts.&lt;br /&gt;&lt;br /&gt;- Will Belden&lt;br /&gt;July 29,2005&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14797282-112266272657751584?l=commonmanrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://commonmanrants.blogspot.com/feeds/112266272657751584/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=14797282&amp;postID=112266272657751584" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/14797282/posts/default/112266272657751584?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/14797282/posts/default/112266272657751584?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CommonMansRantsAndRaves/~3/WWGQPGLDOhQ/shopping-carts-and-lazy-people-who-use.html" title="Shopping Carts and the Lazy People Who Use Them" /><author><name>Will Belden</name><uri>http://www.blogger.com/profile/17349665110929891661</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="32" src="http://www.belden.net/images/Will-Current-7K.jpg" /></author><thr:total>4</thr:total><feedburner:origLink>http://commonmanrants.blogspot.com/2005/07/shopping-carts-and-lazy-people-who-use.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CU8DRnw5fip7ImA9WBRRFks.&quot;"><id>tag:blogger.com,1999:blog-14797282.post-112232030004195183</id><published>2005-07-25T12:27:00.000-07:00</published><updated>2005-07-29T12:04:37.226-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2005-07-29T12:04:37.226-07:00</app:edited><title>Sometimes I really hate people. (In cars...)</title><content type="html">Any of you who are familiar with me may know that my wife and I are training for the &lt;a href="http://www.belden.net/Will-Belden/Will-MS-150.cfm"&gt;MS 150&lt;/a&gt; Bike Tour. It's 75 miles from St. Augustine to Daytona Beach, FL on one day then back the second day. It'll be grueling for someone like me...a bit out of shape.&lt;br /&gt;&lt;br /&gt;Part of this training is actually riding the bike for long distances. (Go figure...) This past weekend, we did 30 miles on Saturday morning, then another 30 again on Sunday. While it's great that Ponte Vedra has some good distances of running/biking trails, they don't go the whole distance that we need to train on. Past that, there's a good length of "HOV" lane, reserved for bikers. But it, too, runs out before the mileage we need to cover. At that point, we're on A1A, riding with traffic.&lt;br /&gt;&lt;br /&gt;On Sunday, the roads were still wet from rain the night before. Puddles were everywhere, and so getting a bit wet and muddy was a given. However, I wasn't prepared for what happened to us.&lt;br /&gt;&lt;br /&gt;We were riding along, and a white or silver Nissan 280Z honked at us, and then deliberately hit a puddle to splash us. At first I wasn't sure this was the case, but another biker who had passed us and stopped on the road further up had exactly the same thing happen to her. As a guy, I can understand &lt;em&gt;wanting&lt;/em&gt; to do that. Guys are mischievious and sometimes bad mannered. But there is a BIG difference between thinking about it and actually doing it.&lt;br /&gt;&lt;br /&gt;What prompted the title of this posting is that it's really sad that many people, &lt;em&gt;especially&lt;/em&gt; people in cars, have no social conscience whatsoever. People do things in cars they would never consider doing on foot. Like speeding up, running you out of your lane so they can cut in front of you or flipping you off as they pass by. Apparently being in a moving vehicle afford a feeling of anonymity that you can partake of to do as you please, regardless of the consequences to others.&lt;br /&gt;My advice of the day.... THINK about others when you're driving.&lt;br /&gt;&lt;br /&gt;- Will Belden&lt;br /&gt;July 25, 2005&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14797282-112232030004195183?l=commonmanrants.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://commonmanrants.blogspot.com/feeds/112232030004195183/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=14797282&amp;postID=112232030004195183" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/14797282/posts/default/112232030004195183?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/14797282/posts/default/112232030004195183?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/CommonMansRantsAndRaves/~3/Zc8Ub2yna2Y/sometimes-i-really-hate-people-in-cars.html" title="Sometimes I really hate people. (In cars...)" /><author><name>Will Belden</name><uri>http://www.blogger.com/profile/17349665110929891661</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="31" height="32" src="http://www.belden.net/images/Will-Current-7K.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://commonmanrants.blogspot.com/2005/07/sometimes-i-really-hate-people-in-cars.html</feedburner:origLink></entry></feed>

