<?xml version="1.0" encoding="utf-8"?>
			
			<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
			<channel>
			<title>Charlie Arehart&apos;s Blog</title>
			<link>http://www.carehart.org/blog/client/index.cfm</link>
			<atom:link href="http://www.carehart.org/blog/client/rss.cfm" rel="self" type="application/rss+xml" />
			<description>Charlie Arehart&apos;s Blog</description>
			<language>en-us</language>
			<lastBuildDate>Mon, 16 Aug 2010 15:55:00 -0400</lastBuildDate>
			<generator>BlogCFC</generator>
			<docs>http://blogs.law.harvard.edu/tech/rss</docs>
			<managingEditor>blogmaster@carehart.org (Charlie Arehart)</managingEditor>
			<webMaster>blogmaster@carehart.org (Charlie Arehart)</webMaster>
			
			<item>
				<title>Coming review of &quot;ColdFusion 9 Developer Tutorial&quot; book by John Farrar, and a free chapter for you</title>
				<link>http://www.carehart.org/blog/client/index.cfm/2010/8/16/upcoming_farrar_book_and_preview_chapter</link>
				<description>
				
				Today the publisher of John Farrar&apos;s new book, &lt;a href=&quot;https://www.packtpub.com/coldfusion-9-developer-tutorial/book&quot;&gt;ColdFusion 9 Developer Tutorial&lt;/a&gt; offered to send me a review copy. I appreciate and look forward to that, as I&apos;ve heard good things about it.

I&apos;ll post a review in coming weeks after I&apos;ve had a chance to take a look.

&lt;h3&gt;Free Preview Chapter on ORM&lt;/h3&gt;
In the meantime, they have also offered for free one of the chapters in the book so you can get a taste of the book&apos;s approach. 

It&apos;s chapter 4, 
&lt;a href=&quot;https://www.packtpub.com/sites/default/files/0249-chapter-4-ORM-Database-Interaction.pdf&quot;&gt;ORM Database Interaction&lt;/a&gt;, and as you&apos;ll see John leads you gently through this important new feature of CF9. Assuming you have no prior experience with ORM, he works in 20 pages from introducing the concepts, to quickly configuring and coding, to working with relationships, and more. You&apos;ll see he uses lots of screenshots and example code. 

One editorial/review comment: I did notice that the preview chapter lists a last section to be on &quot;custom configuration&quot;, which isn&apos;t ever found in the chapter. I brought this to John&apos;s attention and he apologized that it slipped through.

Having contributed to several books myself&lt;sup&gt;*&lt;/sup&gt;, I know that can happen and I don&apos;t regard it as a big deal. It doesn&apos;t take away at all from the rest of the book.

&lt;h3&gt;Looking forward to the rest of the book&lt;/h3&gt;

As for that rest of the book, and why you may want to consider it, the introduction indicates it &quot;will teach you the basics of ColdFusion programming, basic application architecture, object reuse, and ORM concepts before showing you a range of topics including AJAX library integration, RESTful Web Services, Unit Testing, building custom tags, and his hybrid example of tags and objects COOP&quot; ... &quot;with real-world examples of the hows and whys, to
get more done faster with ColdFusion 9&quot; ...[and] &quot;also covers the new features of ColdFusion Builder and additional version 9 updates&quot;.

I&apos;m sure it will benefit many, and I&apos;ll look into all that when I get the review copy, and I&apos;ll be back to pass along my observations.

&lt;sup&gt;*&lt;/sup&gt;I&apos;m sure the publishers of my own books would think it appropriate at this point to mention those other books, which are also out recently and updated for CF9. They are the ColdFusion 9 Web Application Construction Kit, &lt;a href=&quot;http://www.amazon.com/dp/032166034X?tag=carehartorg-20&amp;camp=14573&amp;creative=327641&amp;linkCode=as1&amp;creativeASIN=032166034X&amp;adid=0KRJQ24DPGN1FJ6DRPEV&amp;&quot;&gt;Volume 1 (Getting Started)&lt;/a&gt;, &lt;a href=&quot;http://www.amazon.com/dp/0321679199?tag=carehartorg-20&amp;camp=14573&amp;creative=327641&amp;linkCode=as1&amp;creativeASIN=0321679199&amp;adid=01YXTZ3VSA04AM04TEY6&amp;&quot;&gt;Volume 2, Application Development&lt;/a&gt;, and &lt;a href=&quot;http://www.amazon.com/dp/0321679202?tag=carehartorg-20&amp;camp=14573&amp;creative=327641&amp;linkCode=as1&amp;creativeASIN=0321679202&amp;adid=0D531P0ETDYYZ1KPPQZY&amp;&quot;&gt;Volume 3, Advanced Application Development&lt;/a&gt;. 
				</description>
				
				<category>cf9</category>
				
				<category>general</category>
				
				<category>writing</category>
				
				<pubDate>Mon, 16 Aug 2010 15:55:00 -0400</pubDate>
				<guid>http://www.carehart.org/blog/client/index.cfm/2010/8/16/upcoming_farrar_book_and_preview_chapter</guid>
				
			</item>
			
			<item>
				<title>My CFBuilder Debugger chapter (for CF9 WACK Vol 2) is online</title>
				<link>http://www.carehart.org/blog/client/index.cfm/2010/8/15/cfbuilder_debugger_CFWACK_chapter_online</link>
				<description>
				
				Here&apos;s good news for folks seeking more documentation on how to configure, use, and troubleshoot the ColdFusion Builder debugger.

My chapter on the topic, in the newly released CF 9 Web Application Construction Kit, &lt;a href=&quot;http://www.amazon.com/dp/0321679199?tag=carehartorg-20&amp;camp=14573&amp;creative=327641&amp;linkCode=as1&amp;creativeASIN=0321679199&amp;adid=1D5J2GG9MKF3HT3J5QEF&amp;&quot;&gt;Volume 2 Application development&lt;/a&gt; is &lt;b&gt;available free online&lt;/b&gt;. It&apos;s one of 3 chapters at the end of the book (out of 21 total) that were forced online due to pagecount restrictions.

While it&apos;s a bummer for those who buy the print book and may not notice these are missing (though it should be mentioned in the TOC), the good news is that it means anyone can read the chapter.

You&apos;ll find the 25-page chapter (chapter 45, &quot;Using the Debugger&quot;) online in a PDF of all 3 chapters available at Ben&apos;s site. Note that since mine is the last chapter of the PDF, you will want to skip to page 71 within the document. The following link should open the PDF directly to that page (if not, just use the Acrobat feature to go to a page):

&lt;a href=&quot;http://www.forta.com/books/0321679199/CFWACK9-2-echapters.pdf#page=71&quot;&gt;Read the PDF, starting at page 71&lt;/a&gt;

Finally, some may notice on the Amazon page offered above that only Ben Forta is listed as author for the book. Of course, there were multiple authors. Ben, Ray Camden, and I were contributors to all 3 volumes, while there were still other contributors for volumes 2 and 3. Ben says that this oversight will be addressed soon. 
				</description>
				
				<category>debugging</category>
				
				<category>CFBuilder</category>
				
				<category>writing</category>
				
				<pubDate>Sun, 15 Aug 2010 23:21:00 -0400</pubDate>
				<guid>http://www.carehart.org/blog/client/index.cfm/2010/8/15/cfbuilder_debugger_CFWACK_chapter_online</guid>
				
			</item>
			
			<item>
				<title>New for CF9 (not 9.0.1): a query timeout that really works, with a caveat</title>
				<link>http://www.carehart.org/blog/client/index.cfm/2010/7/14/hidden_gem_in_cf9_admin_querytimeout</link>
				<description>
				
				This is a very interesting change in CF9 (not 9.0.1), which has slipped under the radar for the most part as far as I can tell. 

Did you know there is now a setting in the DSN page of the CF Admin (for most DB drivers) that allows you to set a maximum timeout for queries against that DSN? It&apos;s a new feature enabled for the DataDirect drivers udpated in CF 9. The caveat? It is ONLY settable there, not in CFQUERY itself, which is a shame (the existing TIMEOUT attribute is not the same and generally does not work). Still, the value of this even at the DSN level is too important to ignore for some challenges. &lt;b&gt;More on that (and some other thoughts) in a moment&lt;/b&gt;.

&lt;img src=&quot;http://www.carehart.org/images/cfadmin-querytimeout.jpg&quot; align=&quot;right&quot;&gt;As for the setting, it&apos;s in the &quot;Advanced Settings&quot; section for a DSN in the CF 9 Admin, and it&apos;s called &quot;Query Timeout&quot;. This &lt;b&gt;should not to be confused with the older settings&lt;/b&gt;, &quot;Timeout&quot; (which is about inactive connections) or &quot;Login Timeout&quot; (which is about logging in to the connection). The screenshot at right shows all 3. (This blog entry continues, with more information below it.)

I&apos;ve run a test, and it really does do the job, which is huge. Why? Because it&apos;s been a long-time issue that if a CFQUERY got hung up waiting for a response, that request thread (doing the CFQUERY) is then hung until the query finishes, which can sometimes be many minutes, or even hours or days, due to some odd situations. More important, a thread waiting for a query with no timeout &lt;b&gt;can&apos;t be terminated&lt;/b&gt; (by the JVM, or CF, or the monitoring tools) because the thread was in a native thread state. 

With this new option specified, if the request exceeds the timeout, the request does now fail, with a JDBC error, &quot;Execution timeout expired.&quot; &lt;b&gt;The same test does NOT timeout with the older cfquery TIMEOUT attribute.&lt;/b&gt;

Here are some other notes on the new feature:
&lt;ul&gt;
&lt;li&gt;It works with most of the database drivers. I have confirmed that the setting appears in the DSN settings page for SQL Server, Oracle, MySQL (datadirect), DB2, Informix, Sybase) &lt;b&gt;in CF 9 Enterprise&lt;/b&gt;, and in both SQL Server and MySQL (Datadirect) &lt;b&gt;on CF 9 Standard&lt;/b&gt;.&lt;/li&gt;
&lt;li&gt;The timeout&apos;s specified in seconds. &lt;/li&gt;
&lt;li&gt;You can learn more in the CF Admin guide, in this &lt;a href=&quot;http://help.adobe.com/en_US/ColdFusion/9.0/Admin/WSc3ff6d0ea77859461172e0811cbf364104-7fe4.html&quot;&gt;specific page&lt;/a&gt;.&lt;/li&gt; 
&lt;li&gt;Oddly, the Admin manual page above only references this new setting in that CF Admin manual is in the the MySQL settings, but again it does appear in all the drivers above.&lt;/li&gt;
&lt;li&gt;The manual page does even reference the other DBMSs by name in its naming the methods of the Admin API (for other DBMSs) which you can use as well, which can be used to set this default setting in the DSN programmatically. &lt;/li&gt;
&lt;li&gt;That said, again there is &lt;u&gt;sadly no new QueryTimeout (or QTimeout) attribute for CFQUERY&lt;/u&gt;, so for now we can only set this at the datasource level, not per query.&lt;/li&gt;
&lt;li&gt;I&apos;ve raised the concerns above on the CF Admin livedocs page (or whatever we are to call it now.)&lt;/li&gt; 
&lt;li&gt;If you look under the covers (in [cf]\lib\neo-datasource.xml), there is in fact a querytimeout connectionstring that this setting controls. If only there was a way we could pass connectionstring values to the CFQUERY, we&apos;d be golden. Some may recall use used to have just such an attribute (ConnectString), but sadly it was deprecated in CF 6. I did try it, to no avail.&lt;/li&gt;
&lt;li&gt;I &lt;strike&gt;will raise&lt;/strike&gt; have raised a bug with Adobe to get a new attribute for CFQUERY related to this. &lt;strike&gt;When I do that, I&apos;ll report it here.&lt;/strike&gt; It&apos;s bug 83592. Please &lt;a href=&quot;http://cfbugs.adobe.com/cfbugreport/flexbugui/cfbugtracker/main.html#bugId=83592&quot;&gt;add your vote of support for it&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;There&apos;s another page on this Admin setting, &lt;a href=&quot;http://help.adobe.com/en_US/ColdFusion/9.0/Admin/WSfd7453be0f56bba4bcf6a8f122a6749eaf-7ffd.html&quot;&gt;in the CF Dev Guide&lt;/a&gt;, for those who may be interested in following any other possible places where this feature may be discussed (in the comments there).&lt;/li&gt;
&lt;li&gt;If you want some code to use to test a request waiting a long time for the DB to return, most databases offer a statement that tells the DB to wait for some time. In SQL Server, that&apos;s WAITFOR DELAY &apos;&lt;i&gt;hrs&lt;/i&gt;:&lt;i&gt;mins&lt;/i&gt;:&lt;i&gt;secs&lt;/i&gt;&apos;. Just use that in a CFQUERY, assuming your DSN definition doesn&apos;t limit what SQL statements you can use, in the &apos;Allowed SQL&apos; section of the Adcanced Settings page.&lt;/li&gt; 
&lt;/ul&gt;

&lt;h4&gt;Why is this setting important?&lt;/h4&gt;
I think this is a very important setting, and though it has been a hidden gem, it seems, it&apos;s one that people should consider. That&apos;s why I&apos;ve flagged this in my CF911 category.

If you&apos;re suffering situations where requests are hanging due to long-running queries, and you have not been able to solve the real root cause for why they are hanging (which I always recommend first and foremost), then at least this option can help avoid a situation where queries can run without time limit. An Admin can decide that no queries should be allowed to run more than x seconds.

With that power comes responsibility, of course, and caution. You wouldn&apos;t want to preclude someone being able to run a query that really needed to take a long time. That&apos;s why it&apos;s really better if this was settable on a per-query basis. (And no, the CF page timeout settings are NOT the solution here, because again as I said above, they cannot timeout some kinds of long-running tags, like CFQUERY, CFHTTP, CFINVOKE of a web service, etc.)

What one could do, though (for now), is create different DSNs, where one could be used for most query processing, and another could be used for long-running requests. Yes, it&apos;s ok to have 2 DSNs point to the same DB. This same technique has been used when wanting to have most queries run against one DSN with a limited set of &quot;allowed SQL&quot; (per the DSN advanced settings) while another DSN has unfettered SQL access.

Hope this is helpful to some. Let me know what you think, whether this was helpful or if you feel I left something out. Especially please let me know if you may know of a way that we can indeed pass querystring values on a per-query basis. 
				</description>
				
				<category>performance</category>
				
				<category>hidden gems</category>
				
				<category>cf911</category>
				
				<category>tuning</category>
				
				<category>troubleshooting</category>
				
				<category>jdbc</category>
				
				<category>tips</category>
				
				<pubDate>Wed, 14 Jul 2010 16:20:00 -0400</pubDate>
				<guid>http://www.carehart.org/blog/client/index.cfm/2010/7/14/hidden_gem_in_cf9_admin_querytimeout</guid>
				
			</item>
			
			<item>
				<title>Some more recent (and upcoming) &quot;appearances&quot; (podcasts, interviews, speaking)</title>
				<link>http://www.carehart.org/blog/client/index.cfm/2010/7/10/appearances</link>
				<description>
				
				It always feels a little awkward pointing things like this out, but since some readers may want to know about them, I have recently been the subject of a few of what I&apos;ll call &quot;appearances&quot; (and I have a few more coming up):

&lt;ul&gt;
&lt;li&gt;I was a roundtable participant in last week&apos;s RiaPodcast &lt;a href=&quot;http://www.riapodcast.com/blog/post.cfm/episode-2-9-t-pau&quot;&gt;episode 2.9&lt;/a&gt; (you can listen there)&lt;/li&gt;
&lt;li&gt;I was co-host on the CFHour() podcast, &lt;a href=&quot;http://www.cfhour.com/post.cfm/show-58-monitoring-debugging-and-guests&quot;&gt;show #60&lt;/a&gt; a couple of weeks ago  (you can listen there)&lt;/li&gt;
&lt;li&gt;I was invited (along with Michael Smith) to be &lt;a href=&quot;http://www.fusionauthority.com/news/4812-the-inside-scoop-on-cfunited.htm&quot;&gt;interviewed by Judith Dinowitz of FusionAuthority&lt;/a&gt; on the recently announced fact &lt;a href=&quot;http://cfunited.com/blog/index.cfm/2010/6/30/Farewell-to-CFUnited-Early-Bird-Extended&quot;&gt;that this would be the last year of CFUnited&lt;/a&gt;, which I&apos;ve spoken at each year. (You can read the interview at the FA link offered.)&lt;/li&gt;
&lt;li&gt;It was &lt;a href=&quot;http://cfunited.com/blog/index.cfm/2010/7/7/BOFs-Added-to-Schedule&quot;&gt;announced last week&lt;/a&gt; that I&apos;ll be hosting a BOF (birds of a feather) session at the CFUnited conference. The session will be &quot;CF911: Server Troubleshooting&quot;. More details at the page above.&lt;/li&gt;
&lt;li&gt;It was &lt;a href=&quot;http://cfunited.com/blog/index.cfm/2010/7/5/New-session-by-Intergral-for-CFUnited&quot;&gt;announced last week&lt;/a&gt; as well that I will be giving another session at CFUnited, this one being the Sponsor talk for Intergral (makers of FusionReactor, with whom I partner a lot). The topic is &quot;Continuously Improve CF Code Quality, Server Availability &amp; Application Stability&quot;. More &lt;a href=&quot;http://cfunited.com/2010/topics/461-continuously-improve-cf-code-quality-server-availability--application-stability&quot;&gt;details here&lt;/a&gt;.
&lt;li&gt;Finally, more details about my Day 2 keynote at the conference were &lt;a href=&quot;http://cfunited.com/blog/index.cfm/2010/6/23/Charlie-Areharts-Day-2-Keynote&quot;&gt;also announced&lt;/a&gt; a couple of weeks ago. The topic will be, &quot;CFCommunity: You&apos;re Never Alone&quot;. More details at the link offered.&lt;/li&gt;
&lt;/ul&gt; 
				</description>
				
				<category>podcasts</category>
				
				<category>speaking</category>
				
				<pubDate>Sat, 10 Jul 2010 21:37:00 -0400</pubDate>
				<guid>http://www.carehart.org/blog/client/index.cfm/2010/7/10/appearances</guid>
				
			</item>
			
			<item>
				<title>Getting notices about upcoming CFMeetup meetings</title>
				<link>http://www.carehart.org/blog/client/index.cfm/2010/7/1/getting_notices_of_cfmeetups</link>
				<description>
				
				If you&apos;ve been following my blog here for &lt;a href=&quot;http://www.coldfusionmeetup.com&quot;&gt;CFMeetup&lt;/a&gt; meeting announcements, please note that I will no longer do them. It&apos;s simply redundant, as there are four other ways to get notified.

You can still get CFMeetup announcements the following ways:
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Via email&lt;/b&gt;: by signing up at the meetup site to receive email notification (use the &quot;join us&quot; button on the site, to become a member of the group, for free)
&lt;li&gt;&lt;b&gt;Via RSS&lt;/b&gt;: by following the RSS feed for the group&apos;s calendar, offered at the bottom of the &lt;a href=&quot;http://www.meetup.com/coldfusionmeetup/calendar/&quot;&gt;calendar page&lt;/a&gt; on the site
&lt;li&gt;&lt;b&gt;Via twitter&lt;/b&gt;: by follow us on twitter (&lt;a href=&quot;http://twitter.com/cfmeetup&quot;&gt;@cfmeetup&lt;/a&gt;, used pretty much only for announcements)
&lt;li&gt;&lt;b&gt;Via an alternate RSS feed&lt;/b&gt;: by following the RSS feed on the &lt;a href=&quot;http://cfmeetup.groups.adobe.com/&quot;&gt;Adobe group for CFmeetup&lt;/a&gt;, which simply echoes the meetup calendar feed above. The Adobe group isn&apos;t used for much other than that, for now
&lt;/ul&gt;

&lt;h4&gt;Can&apos;t access meetup.com? We&apos;ve got you covered&lt;/h4&gt;

The latter two options are offered especially for those who can&apos;t access the meetup.com domain (coldfusionmeetup.com redirects to our specific page in meetup.com). Some workplaces block access to meetup.com, as a social media site.

&lt;h4&gt;4 ways should be enough, right?&lt;/h4&gt;

But with those 4 ways, we should have everyone covered who wants to get announcements. 

(For those who like getting email notice but can&apos;t sign up for meetup.com and don&apos;t like RSS, note that there are tools that can send RSS notices by email. See a category of such tools offered at my &lt;a href=&quot;http://www.cf411.com/#rss_email&quot;&gt;CF411&lt;/a&gt; site. There are also ways to get email notifications of twitter messages, but that landscape&apos;s changing too fast for me to yet have created a list of such tools.)

All that said, I will mention while I&apos;m here that we do have a CFMeetup today (July 1, at noon ET), with Ray Camden speaking on Building CFBuilder Extensions. For future announcements, please follow one of the alternatives above. 
				</description>
				
				<category>coldfusion meetup</category>
				
				<pubDate>Thu, 01 Jul 2010 11:15:00 -0400</pubDate>
				<guid>http://www.carehart.org/blog/client/index.cfm/2010/7/1/getting_notices_of_cfmeetups</guid>
				
			</item>
			
			<item>
				<title>Still suffering from spam/junk email? If using Outlook or Thunderbird, consider CloudMark</title>
				<link>http://www.carehart.org/blog/client/index.cfm/2010/6/21/if_suffering_spam_consider_cloudmark</link>
				<description>
				
				Are you still suffering from spam or junk mail in your email inbox? If you&apos;re using Outlook or Thunderbird, you should consider CloudMark, a service I&apos;ve used for years. I&apos;d like to share a bit about it, for those who may benefit.

&lt;blockquote&gt;
Before proceeding though, let me say that &lt;b&gt;I realize there are many spam solutions&lt;/b&gt;, including ones based on your mail server instead (that you or your host might implement). 

And yes, of course &lt;b&gt;I do realize that folks using Gmail will want to say that they never have to worry about this&lt;/b&gt; at all! 

Let me please just speak to those who do choose to (or have to) receive email from other mail servers, and perhaps can&apos;t control spam handling on the server, or still favor a client solution.
&lt;/blockquote&gt;

&lt;H4&gt;Background&lt;/h4&gt;

I was trading emails with someone who, upon being delayed in responding to me, lamented about being &quot;overwhelmed with spam in this mailbox&quot;. I was a little surprised to hear someone still having to suffer that, but then I realized that while there are many solutions out there, sometimes people just don&apos;t get around to implementing any, if even they know of them.

It&apos;s certainly devastating to potentially miss email, and since I make myself (and my email address) so public, it would be a severe problem for me if I had to wade through the few hundred spams I get per day.

Fortunately, I don&apos;t. I use a tool that takes care of it all for me. It really is amazing for my needs (though not free), and after sharing news of it with him, I decided to share it here. 

&lt;h4&gt;Cloudmark, for Outlook or Thunderbird&lt;/h4&gt;

It&apos;s a tool specifically for Outlook or Thunderbird, called Cloudmark. It&apos;s actually a hosted service that integrates with Outlook (and they have both Server and Desktop editions). The &lt;a href=&quot;http://www.cloudmark.com/desktop/&quot;&gt;desktop edition&lt;/a&gt; is $40/year, but it&apos;s SO worth it for me, one of the few programs or hosted services I pay for, and have done so happily for several years. It&apos;s that good. 

BTW, that price actually covers up to 2 PCs, and they do have volume discounts for implementing it on still more.

&lt;h4&gt;Using it is easy, and fast&lt;/h4&gt;

There&apos;s no complicated setup, and unlike some solutions that require you to identify each spam message, Cloudmark instead immediately recognizes spam. You may never have to tell it a thing and yet it will catch and handle hundreds of spams in a day for you.

Recall that I said it integrates in the mail client (Outlook or Thunderbird) and checks with a server to determine if mail is spam. It looks for certain heuristics, and not just simplistic ones like from address, to address, or keywords. Instead it uses a combination of factors to rate the mail (as of course so do some other spam solutions).

As far as I have been able to tell when I&apos;ve checked, I&apos;ve had virtually no false positives (real mail being moved to the spam folder. More on that in a moment). 

It also works fast. I&apos;ve not notice it add any time to mail processing.

As an example, it&apos;s silently caught over 40,000 spam messages in the first 6 months of this year already. 

&lt;img src=&quot;http://www.carehart.org/images/cloudmark_screenshot.png&quot; align=&quot;right&quot;&gt;And whatever slips by (and still ends up in your inbox) you can easily mark it as spam (with a simple keystroke or button press).  What&apos;s more, that again gets sent to their servers and then others benefit from that observation (as you benefit from others, of course). It really is a community-driven network solution (and they seem very intelligent about applying heuristics so that no one can game or abuse the system.)

&lt;h4&gt;Dealing with false positives&lt;/h4&gt;

As for false positives (messages marked as spam that are in fact not spam), that&apos;s of course a common concern with any solution that proposes to &quot;catch&quot; them. 

This is one place where I prefer Cloudmark over mail server-based solutions (as have been offered by hosting providers). With Cloudmark, since it&apos;s running in the mail client, the spam messages do indeed still come down to my server, and they get shunted to a spam folder. 

So if ever someone says they sent me something I didn&apos;t get, I can at least search that spam folder easily.  

I do realize that by me receiving the spam (as compared to it being handled on the mail server) it&apos;s taking up both bandwidth (for me to receive it) and disk space (for me to save it). I just prefer that for the freedom it gives me to be able to search the spam if I ever need to. Hosted solutions often put a limit to how long they&apos;ll hold caught spam for you.

&lt;h4&gt;Not much to show, here or on the web site&lt;/h4&gt;

You may notice I don&apos;t have much in the way of no screenshots to offer here. Indeed, there&apos;s not much on the &lt;a href=&quot;http://www.cloudmark.com/desktop/&quot;&gt;web site&lt;/a&gt;, either. It simply works. There are lots of good referrals there. I just wanted to add mine here, as motivated by the conversation earlier today.

&lt;h4&gt;Free trial, try it yourself (referral link)&lt;/h4&gt;

There is a 15-day trial. Try it for yourself. 

I&apos;ll note they do offer current customers a referral code to give to friends who may sign up. We get a month free if a referring customer stays on for 2 months. 

I&apos;m not writing this for that reason! :-) But as long as they offer it, and if you&apos;d like to do it:

&lt;a href=&quot;http://www.cloudmark.com/?rc=naq4hl&quot;&gt;Sign up with my referral code&lt;/a&gt; (which is naq4hl)

Cloudmark really has been wonderful for me for years, and I highly recommend it. 

Hope that&apos;s helpful to someone. 
				</description>
				
				<category>tools</category>
				
				<pubDate>Mon, 21 Jun 2010 18:40:00 -0400</pubDate>
				<guid>http://www.carehart.org/blog/client/index.cfm/2010/6/21/if_suffering_spam_consider_cloudmark</guid>
				
			</item>
			
			<item>
				<title>How to open CFBuilder/FlashBuilder/Eclipse to view a given perspective, from command line</title>
				<link>http://www.carehart.org/blog/client/index.cfm/2010/6/18/cfbuilder_flashbuilder_command_line_perspective_specification</link>
				<description>
				
				Someone on a list asked an interesting question: how do you switch perspectives in CFBuilder (or FlashBuilder or Eclipse) from the command line? For instance, if one has CFB with FB as a plugin, how might one use the command line to create a shortcut so as to launch to the CFB or FB (or another) perspective?

The good news is that there are in fact &lt;a href=&quot;http://help.eclipse.org/help32/index.jsp?topic=/org.eclipse.platform.doc.isv/reference/misc/runtime-options.html&quot;&gt;various command-line switches for launching Eclipse&lt;/a&gt;, and these apply just as well to the cfbuilder.exe and FlashBuilder.exe (for instance, some have needed to use the -clean switch to resolve some problems). 

In this case of specifying the desired perspective, we want to use the -perspective argument. The trick, though, is knowing the right value to provide. &lt;b&gt;It&apos;s *not* the perspective name.&lt;/b&gt; Rather, it&apos;s the perspectiveid, and that&apos;s not so easy to determine. I&apos;ll explain below how I found them, but to cut to the chase, here they are.

&lt;h4&gt;Some key CFB and FB perspectiveids&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;&lt;b&gt;ColdFusion&lt;/b&gt;: com.adobe.ide.coldfusion.perspective.CFML
&lt;li&gt;&lt;b&gt;ColdFusion Debugging&lt;/b&gt;: com.adobe.ide.coldfusion.ui.debugPerspective
&lt;li&gt;&lt;b&gt;Flash&lt;/b&gt;: com.adobe.flexbuilder.editors.mxml.ui.perspectives.development 
&lt;li&gt;&lt;b&gt;Flash Debugging&lt;/b&gt;: com.adobe.flexbuilder.debug.ui.perspectives.debug
&lt;li&gt;&lt;b&gt;Flash Profiling&lt;/b&gt;: com.adobe.flash.profiler.ui.ProfilingPerspective 
&lt;li&gt;&lt;b&gt;Java&lt;/b&gt;: org.eclipse.jdt.ui.JavaPerspective
&lt;li&gt;&lt;b&gt;Team Synchronizing&lt;/b&gt;: org.eclipse.team.ui.TeamSynchronizingPerspective  
&lt;/ul&gt;

&lt;h4&gt;Still other perspectiveids&lt;/h4&gt;

Of course, there are many other perspectives built into Eclipse and added by various tools, and you may want to open one of them (such as those related to SVN, CVS, etc.) Fortunately, at least &lt;a href=&quot;http://sandipchitale.blogspot.com/2008/08/info-eclipse-view-and-perspective-ids.html&quot;&gt;one person has organized a list of them&lt;/a&gt; (though he lists none that are specific to Adobe products).
 
For some of these, you will naturally have to have installed their respective tools/features them for them to open.

&lt;h4&gt;Using the Argument&lt;/h4&gt; 

So to wrap things up, the command like to open CFBuilder with the Flash perspective is:

&lt;code&gt;
CFBuilder.exe -perspective com.adobe.ide.coldfusion.perspective.CFML
&lt;/code&gt;

I don&apos;t have CFB installed as a plugin on FB, but I do have FB and confirmed that at least the FB values I offered above work for that. I assume the CFB perspectiveids I offered would work in FB as well (again, assuming of course that you have installed CFB as a plug-in to FB.)

&lt;h4&gt;How I found the CFB and FB perspectiveids&lt;/h4&gt;

This was a fun but challenging question. I did quite a bit of searching to find the answer. I followed some leads that were dead-ends (some said they were listed in plugins.xml, but I did not find that to be the case) so I finally just searched the FB and CFB installation directories directly for references to phrase &quot;perpectiveid&quot;. In my case, I found them in a few files, but then the only one that had values like those above (I tested org.eclipse.jdt.ui.JavaPerspective, knowing it worked) was here:

C:\Program Files (x86)\Adobe\Adobe ColdFusion Builder\configuration\org.eclipse.core.runtime\

specifically in a file called .mainData.n (where n is a number that will vary per your local configuration). Of course, the path prior to \Adobe may vary on your own system. 

In FB, it was in:

C:\Program Files (x86)\Adobe\Adobe Flash Builder 4\configuration\org.eclipse.core.runtime\.mainData.n
(again, where n is a number that will vary per your local configuration)

These are both binary files, but opening them I was able to search for perpectiveid and found the various references documented above. 

Hope it helps someone. If there are any other facets of this that people should understand, feel free to comment. 
				</description>
				
				<category>CFBuilder</category>
				
				<category>flex</category>
				
				<pubDate>Fri, 18 Jun 2010 13:12:00 -0400</pubDate>
				<guid>http://www.carehart.org/blog/client/index.cfm/2010/6/18/cfbuilder_flashbuilder_command_line_perspective_specification</guid>
				
			</item>
			
			<item>
				<title>Who&apos;s on the CFMeetup this week, Thurs June 17</title>
				<link>http://www.carehart.org/blog/client/index.cfm/2010/6/17/cfmeetups_june_17</link>
				<description>
				
				We have just one talk on the &lt;a href=&quot;http://www.coldfusionmeetup.com&quot;&gt;Online ColdFusion Meetup&lt;/a&gt;, Thursday at 12pm US ET.

&lt;h2&gt;&quot;Introduction to FuseGuard and Web Application Firewalls&quot;, with Pete Freitag&lt;/h2&gt;
&lt;blockquote&gt;
Thursday, June 17, 12pm US ET (GMT-4)

&lt;a href=&quot;http://www.meetup.com/coldfusionmeetup/calendar/13797480/&quot;&gt;Meeting description, details, optional RSVP&lt;/a&gt;
&lt;/blockquote&gt;

Please join us in the meeting room, &lt;a href=&quot;http://experts.acrobat.com/cfmeetup&quot;&gt;experts.acrobat.com/cfmeetup&lt;/a&gt;, on the day at the time above. Use the &quot;enter as guest&quot; option offering your name (don&apos;t try to log in). 

&lt;h4&gt;Wondering what time this is in your time zone?&lt;/h4&gt;

All CFMeetup announcements show the time as US Eastern Time (ET), but they also offer a link (in the announcement pages above) to a page that helps you see the time in your own timezone. If you can&apos;t access the meetup.com page above (more on that problem below), you can find the time yourself using the time as offered above and plugging it into the available &lt;a href=&quot;http://www.timeanddate.com/worldclock/converter.html?p1=25&quot;&gt;timeanddate.com&lt;/a&gt; site yourself. 

&lt;h4&gt;Can&apos;t access the meetup.com site? You can still join the meeting&lt;/h4&gt;

The CF Meetup announcements are offered via the commercial third-party hosted site, meetup.com. Since that&apos;s been marked by some organizations as a &quot;social networking&quot; site, it may be blocked at your workplace. If you can&apos;t see the descriptions (and other details) or use the RSVP mechanism, no worries. There are &lt;b&gt;either of two solutions&lt;/b&gt; to get around this.

First, you can just show up on the day at the time above at &lt;a href=&quot;http://experts.acrobat.com/cfmeetup&quot;&gt;experts.acrobat.com/cfmeetup&lt;/a&gt;. Use the &quot;enter as guest&quot; option and offer your name (as even meetup.com members must do), and you&apos;re in. No fuss. 

Second, if you&apos;d like to be notified of CF Meetup events and/or see the descriptions, there are a few ways you can (or you can tell others how they can) do these. I discuss them in &lt;A href=&quot;http://www.carehart.org/blog/client/index.cfm/2009/9/7/getting_around_blocked_cfmeetup_access&quot;&gt;another blog entry&lt;/a&gt;.

&lt;h4&gt;All meetings are recorded&lt;/h4&gt;

All CF Meetup meetings are recorded, and the URLs are posted after the meeting at &lt;a href=&quot;http://recordings.coldfusionmeetup.com&quot;&gt;recordings page&lt;/a&gt; and also at my &lt;a href=&quot;http://www.carehart.org/ugtv/&quot;&gt;UGTV&lt;/a&gt; site. Streaming recordings are available immediately, while downloadable (FLV, MP3, and MP4) recordings will be posted generally by the next day.

&lt;h4&gt;Wish we had meetings at different times?&lt;/h4&gt;

The normal time of our meetings is either noon or 6pm US ET, depending on the availability of speakers. To be clear, I would be happy to hold a meetup at another time. If you&apos;re in a distant timezone and are willing to speak, I&apos;ll be happy to hold a meeting at an hour outside our norm. Speaking of which...

&lt;h4&gt;Call for speakers&lt;/h4&gt;

We&apos;re always open to and indeed looking for more speakers. &lt;strong&gt;The topics can be new stuff, old stuff, beginner stuff, or advanced stuff.&lt;/strong&gt; It can be a repeat of something you&apos;ve given before, or it can be your first presentation ever. In a group with over 1900 members, there&apos;s an audience for every topic, and none is ever too small (plus, still more watch the recordings).

If you may be interested in speaking or know someone who is (or you may want to suggest someone you think I should ask), check out &lt;a href=&quot;http://speak.coldfusionmeetup.com&quot;&gt;speak.coldfusionmeetup.com&lt;/a&gt;, which is a past blog entry where I answer common questions, or have them &lt;a href=&quot;http://www.carehart.org/contact.cfm&quot;&gt;get in touch with me&lt;/a&gt;. 
				</description>
				
				<category>coldfusion meetup events</category>
				
				<pubDate>Thu, 17 Jun 2010 00:22:00 -0400</pubDate>
				<guid>http://www.carehart.org/blog/client/index.cfm/2010/6/17/cfmeetups_june_17</guid>
				
			</item>
			
			<item>
				<title>Who&apos;s on the CFMeetup this week, Thurs June 10</title>
				<link>http://www.carehart.org/blog/client/index.cfm/2010/6/9/cfmeetups_june_10</link>
				<description>
				
				We have two talks on the &lt;a href=&quot;http://www.coldfusionmeetup.com&quot;&gt;Online ColdFusion Meetup&lt;/a&gt;, Thursday at 12pm and 6pm US ET.

&lt;h2&gt;&quot;Beginning SQLite Database Development for AIR&quot;, with Raymond Camden&lt;/h2&gt;
&lt;blockquote&gt;
Thursday, June 10, 12pm US ET (GMT-4)

&lt;a href=&quot;http://www.meetup.com/coldfusionmeetup/calendar/13726129/&quot;&gt;Meeting description, details, optional RSVP&lt;/a&gt;
&lt;/blockquote&gt;

&lt;h2&gt;&quot;CF911: Stack Tracing CFML Requests to Solve Problems&quot;, with Charlie Arehart&lt;/h2&gt;
&lt;blockquote&gt;
Thursday, June 10, 6pm US ET (GMT-4)

&lt;a href=&quot;http://www.meetup.com/coldfusionmeetup/calendar/13726190/&quot;&gt;Meeting description, details, optional RSVP&lt;/a&gt;
&lt;/blockquote&gt;

Please join us in the meeting room, &lt;a href=&quot;http://experts.acrobat.com/cfmeetup&quot;&gt;experts.acrobat.com/cfmeetup&lt;/a&gt;, on the day at the time above. Use the &quot;enter as guest&quot; option offering your name (don&apos;t try to log in). 

&lt;h4&gt;Wondering what time this is in your time zone?&lt;/h4&gt;

All CFMeetup announcements show the time as US Eastern Time (ET), but they also offer a link (in the announcement pages above) to a page that helps you see the time in your own timezone. If you can&apos;t access the meetup.com page above (more on that problem below), you can find the time yourself using the time as offered above and plugging it into the available &lt;a href=&quot;http://www.timeanddate.com/worldclock/converter.html?p1=25&quot;&gt;timeanddate.com&lt;/a&gt; site yourself. 

&lt;h4&gt;Can&apos;t access the meetup.com site? You can still join the meeting&lt;/h4&gt;

The CF Meetup announcements are offered via the commercial third-party hosted site, meetup.com. Since that&apos;s been marked by some organizations as a &quot;social networking&quot; site, it may be blocked at your workplace. If you can&apos;t see the descriptions (and other details) or use the RSVP mechanism, no worries. There are &lt;b&gt;either of two solutions&lt;/b&gt; to get around this.

First, you can just show up on the day at the time above at &lt;a href=&quot;http://experts.acrobat.com/cfmeetup&quot;&gt;experts.acrobat.com/cfmeetup&lt;/a&gt;. Use the &quot;enter as guest&quot; option and offer your name (as even meetup.com members must do), and you&apos;re in. No fuss. 

Second, if you&apos;d like to be notified of CF Meetup events and/or see the descriptions, there are a few ways you can (or you can tell others how they can) do these. I discuss them in &lt;A href=&quot;http://www.carehart.org/blog/client/index.cfm/2009/9/7/getting_around_blocked_cfmeetup_access&quot;&gt;another blog entry&lt;/a&gt;.

&lt;h4&gt;All meetings are recorded&lt;/h4&gt;

All CF Meetup meetings are recorded, and the URLs are posted after the meeting at &lt;a href=&quot;http://recordings.coldfusionmeetup.com&quot;&gt;recordings page&lt;/a&gt; and also at my &lt;a href=&quot;http://www.carehart.org/ugtv/&quot;&gt;UGTV&lt;/a&gt; site. Streaming recordings are available immediately, while downloadable (FLV, MP3, and MP4) recordings will be posted generally by the next day.

&lt;h4&gt;Wish we had meetings at different times?&lt;/h4&gt;

The normal time of our meetings is either noon or 6pm US ET, depending on the availability of speakers. To be clear, I would be happy to hold a meetup at another time. If you&apos;re in a distant timezone and are willing to speak, I&apos;ll be happy to hold a meeting at an hour outside our norm. Speaking of which...

&lt;h4&gt;Call for speakers&lt;/h4&gt;

We&apos;re always open to and indeed looking for more speakers. &lt;strong&gt;The topics can be new stuff, old stuff, beginner stuff, or advanced stuff.&lt;/strong&gt; It can be a repeat of something you&apos;ve given before, or it can be your first presentation ever. In a group with over 1900 members, there&apos;s an audience for every topic, and none is ever too small (plus, still more watch the recordings).

If you may be interested in speaking or know someone who is (or you may want to suggest someone you think I should ask), check out &lt;a href=&quot;http://speak.coldfusionmeetup.com&quot;&gt;speak.coldfusionmeetup.com&lt;/a&gt;, which is a past blog entry where I answer common questions, or have them &lt;a href=&quot;http://www.carehart.org/contact.cfm&quot;&gt;get in touch with me&lt;/a&gt;. 
				</description>
				
				<category>coldfusion meetup events</category>
				
				<pubDate>Wed, 09 Jun 2010 11:40:00 -0400</pubDate>
				<guid>http://www.carehart.org/blog/client/index.cfm/2010/6/9/cfmeetups_june_10</guid>
				
			</item>
			
			<item>
				<title>Who&apos;s on the CFMeetup this week, Thurs June 3</title>
				<link>http://www.carehart.org/blog/client/index.cfm/2010/6/1/cfmeetups_june_3</link>
				<description>
				
				We have two talks on the &lt;a href=&quot;http://www.coldfusionmeetup.com&quot;&gt;Online ColdFusion Meetup&lt;/a&gt;, Thursday at 12pm and 6pm US ET.

&lt;h2&gt;&quot;Common Sense Object Oriented ColdFusion, 2010 Edition&quot;, with Brian Meloche&lt;/h2&gt;
&lt;blockquote&gt;
Thursday, June 3, 12pm US ET (GMT-4)

&lt;a href=&quot;http://www.meetup.com/coldfusionmeetup/calendar/13642885/&quot;&gt;Meeting description, details, optional RSVP&lt;/a&gt;
&lt;/blockquote&gt;

&lt;h2&gt;&quot;Server 2 User Debugging&quot;, with Kev McCabe&lt;/h2&gt;
&lt;blockquote&gt;
Thursday, June 3, 6pm US ET (GMT-4)

&lt;a href=&quot;http://www.meetup.com/coldfusionmeetup/calendar/13642935/&quot;&gt;Meeting description, details, optional RSVP&lt;/a&gt;
&lt;/blockquote&gt;

Please join us in the meeting room, &lt;a href=&quot;http://experts.acrobat.com/cfmeetup&quot;&gt;experts.acrobat.com/cfmeetup&lt;/a&gt;, on the day at the time above. Use the &quot;enter as guest&quot; option offering your name (don&apos;t try to log in). 

&lt;h4&gt;Wondering what time this is in your time zone?&lt;/h4&gt;

All CFMeetup announcements show the time as US Eastern Time (ET), but they also offer a link (in the announcement pages above) to a page that helps you see the time in your own timezone. If you can&apos;t access the meetup.com page above (more on that problem below), you can find the time yourself using the time as offered above and plugging it into the available &lt;a href=&quot;http://www.timeanddate.com/worldclock/converter.html?p1=25&quot;&gt;timeanddate.com&lt;/a&gt; site yourself. 

&lt;h4&gt;Can&apos;t access the meetup.com site? You can still join the meeting&lt;/h4&gt;

The CF Meetup announcements are offered via the commercial third-party hosted site, meetup.com. Since that&apos;s been marked by some organizations as a &quot;social networking&quot; site, it may be blocked at your workplace. If you can&apos;t see the descriptions (and other details) or use the RSVP mechanism, no worries. There are &lt;b&gt;either of two solutions&lt;/b&gt; to get around this.

First, you can just show up on the day at the time above at &lt;a href=&quot;http://experts.acrobat.com/cfmeetup&quot;&gt;experts.acrobat.com/cfmeetup&lt;/a&gt;. Use the &quot;enter as guest&quot; option and offer your name (as even meetup.com members must do), and you&apos;re in. No fuss. 

Second, if you&apos;d like to be notified of CF Meetup events and/or see the descriptions, there are a few ways you can (or you can tell others how they can) do these. I discuss them in &lt;A href=&quot;http://www.carehart.org/blog/client/index.cfm/2009/9/7/getting_around_blocked_cfmeetup_access&quot;&gt;another blog entry&lt;/a&gt;.

&lt;h4&gt;All meetings are recorded&lt;/h4&gt;

All CF Meetup meetings are recorded, and the URLs are posted after the meeting at &lt;a href=&quot;http://recordings.coldfusionmeetup.com&quot;&gt;recordings page&lt;/a&gt; and also at my &lt;a href=&quot;http://www.carehart.org/ugtv/&quot;&gt;UGTV&lt;/a&gt; site. Streaming recordings are available immediately, while downloadable (FLV, MP3, and MP4) recordings will be posted generally by the next day.

&lt;h4&gt;Wish we had meetings at different times?&lt;/h4&gt;

The normal time of our meetings is either noon or 6pm US ET, depending on the availability of speakers. To be clear, I would be happy to hold a meetup at another time. If you&apos;re in a distant timezone and are willing to speak, I&apos;ll be happy to hold a meeting at an hour outside our norm. Speaking of which...

&lt;h4&gt;Call for speakers&lt;/h4&gt;

We&apos;re always open to and indeed looking for more speakers. &lt;strong&gt;The topics can be new stuff, old stuff, beginner stuff, or advanced stuff.&lt;/strong&gt; It can be a repeat of something you&apos;ve given before, or it can be your first presentation ever. In a group with over 1900 members, there&apos;s an audience for every topic, and none is ever too small (plus, still more watch the recordings).

If you may be interested in speaking or know someone who is (or you may want to suggest someone you think I should ask), check out &lt;a href=&quot;http://speak.coldfusionmeetup.com&quot;&gt;speak.coldfusionmeetup.com&lt;/a&gt;, which is a past blog entry where I answer common questions, or have them &lt;a href=&quot;http://www.carehart.org/contact.cfm&quot;&gt;get in touch with me&lt;/a&gt;. 
				</description>
				
				<category>coldfusion meetup events</category>
				
				<pubDate>Tue, 01 Jun 2010 23:16:00 -0400</pubDate>
				<guid>http://www.carehart.org/blog/client/index.cfm/2010/6/1/cfmeetups_june_3</guid>
				
			</item>
			
			<item>
				<title>Did you know CF&apos;s used by Dell, TomTom, BestBuy and more? Well...</title>
				<link>http://www.carehart.org/blog/client/index.cfm/2010/6/1/cf_used_by_dell_tomtom_etc</link>
				<description>
				
				Did you know CF&apos;s being used by Dell, TomTom, BestBuy and others? Well, it is, but through a service they license, but for public-facing parts of their sites, so it&apos;s indeed worth noting.

I had noticed today that Budd Wright from PelcoSolutions (aka DVS Interactive) blogged this weekend that &quot;&lt;a href=http://blog.pelcosolutions.com/2010/05/best-buy-uses-coldfusion.html&quot;&gt;BestBuy Uses ColdFusion&lt;/a&gt;&quot;. That certainly caught my eye (heck, I was in the store just yesterday.) 

&lt;h2&gt;Just the BestBuy &quot;trade-in&quot; site, but more than meets the eye&lt;/h2&gt;
As I read it and saw it was about their trade-in site, I thought, &quot;well, some may bemoan that it&apos;s &apos;just a subsite&apos;&quot;, and therefore may not find it quite as compelling as if it were the main site. That may be so.

But on closer examination I found something that is indeed still more compelling. What BestBuy is using (that uses CF) is really a licensed service from &lt;a href=&quot;http://www.dealtree.com/services.cfm&quot;&gt;dealtree.com&lt;/a&gt;. And if one looks at that page (where DealTree lists others using their service), we see that indeed it&apos;s used also by Dell, TomTom, Sharp, Buy.com, Gateway, Casio, Ebay, and others. So this is about more than just BestBuy! :-)

&lt;h2&gt;These other companies (Dell, TomTom, etc.) would have high expectations&lt;/h2&gt;
They all certainly wouldn&apos;t have chosen if if it wasn&apos;t suitable to the task, and you&apos;d think someone higher up in each company had to clear it, since trade-in processing is pretty public-facing (both in-store and online). 

Perhaps we can hope it may raise the profile of CF within the companies (though really, it&apos;s probably just seen as a utility to most, SAAS that just works, so that may be too much to hope for.) 

Still, since these are companies which will require fast response in both the in-store and online sites, it&apos;s certainly a nice set of examples of e-commerce CF use that we can point to, so thanks for sharing, Budd.


I figured this was all a little much to put in his blog as a comment. :-) Plus I thought that my blogging it separately might be a nice way to give his entry a little more &quot;link juice&quot; in the search engines. :-)

&lt;h2&gt;Who else is using CF?&lt;/h2&gt;
I&apos;m adding this after a couple of comments below, of people noting other sites using CF. I didn&apos;t think to mention it when I wrote this but I do keep a list of resources helping people who may wonder what other sites run CF. It&apos;s one of the 125+ categories in my &lt;a href=&quot;http://www.cf411.com/&quot;&gt;CF411&lt;/a&gt; site:

&lt;a href=&quot;http://www.cf411.com/#cfpowered&quot;&gt;CFML-Powered Web Sites (who&apos;s using CFML?)&lt;/a&gt;

To be clear, I&apos;m not keeping a list. Instead, I point there to many sites that do keep such lists. 
				</description>
				
				<category>general</category>
				
				<category>community</category>
				
				<pubDate>Tue, 01 Jun 2010 12:39:00 -0400</pubDate>
				<guid>http://www.carehart.org/blog/client/index.cfm/2010/6/1/cf_used_by_dell_tomtom_etc</guid>
				
			</item>
			
			<item>
				<title>Who&apos;s on the CFMeetup this week, Thurs May 27</title>
				<link>http://www.carehart.org/blog/client/index.cfm/2010/5/25/cfmeetups_may_27</link>
				<description>
				
				We have two talks on the &lt;a href=&quot;http://www.coldfusionmeetup.com&quot;&gt;Online ColdFusion Meetup&lt;/a&gt;, Thursday at 12pm and 6pm US ET.

&lt;h2&gt;&quot;Search Engine Optimization for the ColdFusion Developer&quot;, with Jeff Gladnick&lt;/h2&gt;
&lt;blockquote&gt;
Thursday, May 27, 12pm US ET (GMT-4)

&lt;a href=&quot;http://www.meetup.com/coldfusionmeetup/calendar/13555272/&quot;&gt;Meeting description, details, optional RSVP&lt;/a&gt;
&lt;/blockquote&gt;

&lt;h2&gt;&quot;Load Testing Your Site with JMeter&quot;, with Kurt Wiersma&lt;/h2&gt;
&lt;blockquote&gt;
Thursday, May 27, 6pm US ET (GMT-4)

&lt;a href=&quot;http://www.meetup.com/coldfusionmeetup/calendar/13555372/&quot;&gt;Meeting description, details, optional RSVP&lt;/a&gt;
&lt;/blockquote&gt;

Please join us in the meeting room, &lt;a href=&quot;http://experts.acrobat.com/cfmeetup&quot;&gt;experts.acrobat.com/cfmeetup&lt;/a&gt;, on the day at the time above. Use the &quot;enter as guest&quot; option offering your name (don&apos;t try to log in). 

&lt;h4&gt;Wondering what time this is in your time zone?&lt;/h4&gt;

All CFMeetup announcements show the time as US Eastern Time (ET), but they also offer a link (in the announcement pages above) to a page that helps you see the time in your own timezone. If you can&apos;t access the meetup.com page above (more on that problem below), you can find the time yourself using the time as offered above and plugging it into the available &lt;a href=&quot;http://www.timeanddate.com/worldclock/converter.html?p1=25&quot;&gt;timeanddate.com&lt;/a&gt; site yourself. 

&lt;h4&gt;Can&apos;t access the meetup.com site? You can still join the meeting&lt;/h4&gt;

The CF Meetup announcements are offered via the commercial third-party hosted site, meetup.com. Since that&apos;s been marked by some organizations as a &quot;social networking&quot; site, it may be blocked at your workplace. If you can&apos;t see the descriptions (and other details) or use the RSVP mechanism, no worries. There are &lt;b&gt;either of two solutions&lt;/b&gt; to get around this.

First, you can just show up on the day at the time above at &lt;a href=&quot;http://experts.acrobat.com/cfmeetup&quot;&gt;experts.acrobat.com/cfmeetup&lt;/a&gt;. Use the &quot;enter as guest&quot; option and offer your name (as even meetup.com members must do), and you&apos;re in. No fuss. 

Second, if you&apos;d like to be notified of CF Meetup events and/or see the descriptions, there are a few ways you can (or you can tell others how they can) do these. I discuss them in &lt;A href=&quot;http://www.carehart.org/blog/client/index.cfm/2009/9/7/getting_around_blocked_cfmeetup_access&quot;&gt;another blog entry&lt;/a&gt;.

&lt;h4&gt;All meetings are recorded&lt;/h4&gt;

All CF Meetup meetings are recorded, and the URLs are posted after the meeting at &lt;a href=&quot;http://recordings.coldfusionmeetup.com&quot;&gt;recordings page&lt;/a&gt; and also at my &lt;a href=&quot;http://www.carehart.org/ugtv/&quot;&gt;UGTV&lt;/a&gt; site. Streaming recordings are available immediately, while downloadable (FLV, MP3, and MP4) recordings will be posted generally by the next day.

&lt;h4&gt;Wish we had meetings at different times?&lt;/h4&gt;

The normal time of our meetings is either noon or 6pm US ET, depending on the availability of speakers. To be clear, I would be happy to hold a meetup at another time. If you&apos;re in a distant timezone and are willing to speak, I&apos;ll be happy to hold a meeting at an hour outside our norm. Speaking of which...

&lt;h4&gt;Call for speakers&lt;/h4&gt;

We&apos;re always open to and indeed looking for more speakers. &lt;strong&gt;The topics can be new stuff, old stuff, beginner stuff, or advanced stuff.&lt;/strong&gt; It can be a repeat of something you&apos;ve given before, or it can be your first presentation ever. In a group with over 1900 members, there&apos;s an audience for every topic, and none is ever too small (plus, still more watch the recordings).

If you may be interested in speaking or know someone who is (or you may want to suggest someone you think I should ask), check out &lt;a href=&quot;http://speak.coldfusionmeetup.com&quot;&gt;speak.coldfusionmeetup.com&lt;/a&gt;, which is a past blog entry where I answer common questions, or have them &lt;a href=&quot;http://www.carehart.org/contact.cfm&quot;&gt;get in touch with me&lt;/a&gt;. 
				</description>
				
				<category>coldfusion meetup events</category>
				
				<pubDate>Tue, 25 May 2010 16:44:00 -0400</pubDate>
				<guid>http://www.carehart.org/blog/client/index.cfm/2010/5/25/cfmeetups_may_27</guid>
				
			</item>
			
			<item>
				<title>More reasons to buy ColdFusion Builder</title>
				<link>http://www.carehart.org/blog/client/index.cfm/2010/5/25/more_on_why_buy_cfbuilder_</link>
				<description>
				
				I wanted to add some more thoughts to Adam Tuttle&apos;s helpful recent entry, &lt;a href=&quot;http://fusiongrokker.com/post/why-i-think-you-should-buy-coldfusion-builder&quot;&gt;Why (I Think) You Should Buy ColdFusion Builder&lt;/a&gt;. I started to offer them as comments but it got lengthy, so I decided to create this entry instead.

&lt;h3&gt;A little background on the question&lt;/h3&gt;
Adam&apos;s entry was his response to an observation I&apos;d made on a private mailing list that I&apos;d not seen any good single resource to point people to when they raised concerns about having to pay for CFBuilder. We who have &quot;seen the light&quot; wonder why people even debate it (as he addresses with observations from others in his entry). 

While his entry expands on the oft-shared Adobe graphic  comparing features among it and the existing CFML editors, there are some more features that may not have been t important enough to be listed on that graphic, but are sometimes a source of concern/contention for some as they consider CFB. Here are a few of them.

Most of these are things I also have been pointing out (among several dozen) in my &quot;&lt;a href=&quot;http://www.carehart.org/presentations/#cfbgems&quot;&gt;Hidden Gems in CFBuilder&lt;/a&gt;&quot; talk that I&apos;ve presented over the past year and will offer again at &lt;a href=&quot;http://www.cfunited.com/2010/&quot;&gt;CFUnited&lt;/a&gt;.

&lt;h3&gt;Some more points to consider&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt; CFB offers something not in DW, HS, etc: its &quot;local history&quot; feature (per its Eclipse heritage) can be likened to a poor man&apos;s version control (though of course it offers full integration with &quot;real&quot; version control, which is preferable).&lt;/li&gt;

&lt;li&gt; While CFB (and Eclipse CFEclipse) are designed around use of &quot;projects&quot;, CFB doesn&apos;t *require* use of them. It offers (via its Aptana-inherited features) the ability to work with files directly, and unique compared to Eclipse/CFEclipse, you can even open a file from the file system (like Windows Explorer) and it will open as a new tab, not a whole new workbench.&lt;/li&gt;

&lt;li&gt; DW and HS have features to &quot;open include files&quot; by right-clicking on CFINCLUDE, and some miss that in CFB. But it can do that sort of file open, and it&apos;s even more powerful. It&apos;s just not available on the context menu. Instead, one should hold the ctrl (or mac) key and hover their mouse over any kind of file link, and it will offer to open it. That can be a CFINCLUDE or a CFINVOKE/cfobject/createobject of a CFC, and more. It can even be on the name of a method used in code (script or tag) and it will open that method in the given CFC. It also works on a href and other html tags that refer to files. Very powerful.&lt;/li&gt;

&lt;li&gt;Some people lament that DW could do a &quot;split window&quot;, showing part of a file in one window and another part in another, editing them simultaneously. Again, though it&apos;s not a right-click feature in CFB/Eclipse, it&apos;s there. You use Window&gt;New Editor, which creates another tab with the same file, which you can then move to be above/below/side-by-side within another editor/tab.&lt;/li&gt;

&lt;li&gt; Some lament a lack of word wrap in CFB. It&apos;s there. See Window&gt;Preferences&gt;HTML&gt;Editors (don&apos;t expand that) then its Advanced tab.&lt;/li&gt;

&lt;li&gt; Some complain that CFB doesn&apos;t do code completion (closing tags). It does, but it&apos;s not enabled by default.  See Preferences&gt;ColdFusion&gt;Editor Profiles&gt;Editor&gt;Typing, and note the options to close (as in DW) either when closing the opening tag, or at the start of typing the opening of the closing tag. 

I will note, however, that I&apos;ve found that HTML tags won&apos;t close (though they should by default). That problem is that the feature expects that there&apos;s an opening/closing HTML tag wrapping the page content. We often skip that in CFML, or may be working with a file that&apos;s included/called from another. At least this explains when it doesn&apos;t work.&lt;/li&gt;

&lt;li&gt;CFB has support for EXT/JS 3.0 (see the CFBuilder help/documentation section on &quot;Import Ajax libraries&quot;)&lt;/li&gt;

&lt;li&gt;CFB can build AIR apps. See &quot;Developing AIR applications&quot; in the CFBuilder help/documentation.&lt;/li&gt;

&lt;li&gt;CFB has built-in support for doing a file compare. Select the files in the navigator and right-click and choose &quot;Compare with&quot;.

&lt;li&gt;Some complain that they can&apos;t &quot;edit a file on a server via FTP&quot;, meaning open it remotely, edit it, and save it on the server. While may will argue that you shouldn&apos;t do that (but should edit and test locally then deploy remotely), I&apos;ll note that you can in fact do that, if you use the Files (not the Navigator) window to open a remote connection.&lt;/li&gt;

&lt;li&gt;Don&apos;t miss the available Services Browser, which allows you to browse (within the editor) any CFCs *or* web services, seeing their methods, arguments, and more. I&apos;ve &lt;a href=&quot;http://www.carehart.org/blog/client/index.cfm/2009/8/7/cfbuilder_browsing_web_services&quot;&gt;blogged more about this&lt;/a&gt; to walk you through the oft-missed web services feature, which I&apos;ll note is similar to what&apos;s in DW.&lt;/li&gt;

&lt;li&gt; Don&apos;t overlook creating a Server connection. Sometimes people complain that some of the asserted &quot;powerful and unique features&quot; of CFB just &quot;don&apos;t work&quot; for them.  For them, I&apos;ll note that you really HAVE to create a Server connection for your projects. That&apos;s an optional step when creating a new project, but if you overlook it, many things just won&apos;t work. It&apos;s this server connection (and the related RDS connection) which allow the IDE to talk to the server to get info on the CFCs on your server, the DBs and their tables/columns, etc., not to mention the features for starting/stopping the server, connecting to its admin, etc. I point to several blog entries that discuss that point about the need for defining servers in my Hidden Gems talk. &lt;/li&gt;

&lt;li&gt;For all its features, some complain of performance problems. As Adam noted in his entry, many have been fixed first in the final release and then in the recent updater. Beyond that, though, the CFB docs do have still more addressing this specifically. See the section &quot;Optimizing ColdFusion Builder Performance&quot;. &lt;/li&gt;

&lt;li&gt;Finally, it should be repeated that because CFB is based on Eclipse, there is a whole world of Eclipse extensions that can and do add still more functionality, generally for free.&lt;/li&gt;

&lt;li&gt;Indeed, there is more to CFB in the way of features of Eclipse itself, as well as the Aptana plug-in that&apos;s included with it. So it would behoove one to look into those more. I point to some resources for exploring those more in my Hidden Gems talk.

&lt;/ol&gt;

&lt;h3&gt;Lots more tips, tricks, and traps&lt;/h3&gt;

Indeed, that &lt;a href=&quot;http://www.carehart.org/presentations/#cfbgems&quot;&gt;Hidden Gems&lt;/a&gt; talk (whose content is available online as both a PDF and a recording) offers still more about some of the features I list above (including doc or blog links), and it offers still more in the way of tips, tricks, and traps in working with CFB.

It&apos;s not really meant to address the &quot;why buy CFB&quot; question, but instead tries to help those who&apos;ve used it (or tried) to be more aware of what&apos;s possible. It&apos;s addressed to both those new to Eclipse-based editors and also to those who&apos;ve been using them already.

This is indeed a challenge for any resource trying to speak about CFB (whether a blog entry or the CFB docs). How much should be presumed? It&apos;s that challenge which leads, I think, to the state of things where some feel that their concerns are not addressed. 

&lt;h3&gt;Lost cause for some?&lt;/h3&gt;

Finally, when I first asked about whether someone had put together such an entry, I got some feedback (surprisingly staunch) that it seemed pointless to bother trying to &quot;preach to the unconverted&quot;, and that if they didn&apos;t get it, it was their loss. As I wrote in reply:

&lt;blockquote&gt;
I appreciate that sentiment, but I do believe there are some in that &quot;hater&quot; crowd who are just misinformed, and don&apos;t really appreciate all that it adds for them. More than a few (still!) accuse it of being just a rip off of CFEclipse. Of course, you and I (and many here) know that&apos;s a gross simplification--and not true, anyway.

But as long as they think that, or more important as long as they don&apos;t fully understand what it can do for them, they will continue to resist.

No doubt, there are some for whom no amount of persuasion will cause them to &quot;get up off their wallet&quot;, as my wife would say. We can&apos;t do much for them, but I do want to &quot;fight that good fight&quot; for those who can be reached.
&lt;/blockquote&gt;

&lt;h3&gt;Tell people about Adam&apos;s entry whenever you can&lt;/h3&gt;

So I hope that Adam&apos;s entry, and any others that may exist (and perhaps this one and my talk) will help with that.

But also I hope people will bookmark Adam&apos;s entry and point it out whenever you see people complain (on lists/forums/in twitter) about &quot;why should I buy/have to pay for CFB&quot;? I think the conversation is an important one to have. 
				</description>
				
				<category>CFBuilder</category>
				
				<category>cfeclipse</category>
				
				<category>homesite+</category>
				
				<category>editors</category>
				
				<category>dwmx</category>
				
				<pubDate>Tue, 25 May 2010 13:33:00 -0400</pubDate>
				<guid>http://www.carehart.org/blog/client/index.cfm/2010/5/25/more_on_why_buy_cfbuilder_</guid>
				
			</item>
			
			<item>
				<title>A tool to throttle rapid requests to your CF server from one IP address</title>
				<link>http://www.carehart.org/blog/client/index.cfm/2010/5/21/throttling_by_ip_address</link>
				<description>
				
				Some time ago I implemented a tool on my own site to throttle when any single IP address (bot, spider, hacker, user) made too many requests at once. I&apos;ve mentioned it occasionally and people have often asked me to share it, which I&apos;ve happily done by email. Today with another request I decided to post it and of course seek any feedback.

It&apos;s just a rough cut. I haven&apos;t thought it through thoroughly (wow, how&apos;s that for an alliteration!). Still, while I know there are couple of concerns that will come to mind for some readers and I try to address those at the end, it does work for me and has helped improve my server&apos;s stability and reliability.

&lt;h2&gt;Background: do you need to care? Perhaps more than you realize&lt;/h2&gt;
As background, in my &lt;a href=&quot;http://www.carehart.org/consulting/&quot;&gt;consulting to help people troubleshoot CF server problems&lt;/a&gt;, one of the most common surprises I help people discover is that their servers are often being bombarded by spiders, bots, hackers, people grabbing their content, rss readers, or even just their own internal/external ping tools (monitoring whether the server is up.) 

It can either be that there are many more than they expect, coming more often than they expect, or they may come extremely fast to your server (even many times a second). This throttle tool helps deal with the latter.

&lt;h2&gt;Why you can&apos;t &quot;just use robots.txt and call it a day&quot;&lt;/h2&gt;
Yes, I do know that there is a &lt;a href=&quot;http://www.robotstxt.org/&quot;&gt;robots.txt&lt;/a&gt; standard (or &quot;robots exclusion protocol&quot;) which, if implemented on your server, robots should follow so as not to abuse your site.  And it does offer a crawl-delay option. 

The first problem is that some of the things I allude to above aren&apos;t bots in the classic sense (such as RSS readers, ping tools). They don&apos;t &quot;crawl&quot; your site, so they don&apos;t regard that they need to be told how/where to look. They&apos;re just coming looking for a given page.

The second problem is that some bots simply ignore the robots.txt, or don&apos;t honor all of it. For instance, while Google honors the file in terms of what it should look at, my understanding is that it instead requires you to implement the &lt;a href=&quot;http://www.google.com/webmasters/&quot;&gt;webmaster toolkit&lt;/a&gt; for your site to &lt;a href=&quot;http://www.google.com/support/webmasters/bin/answer.py?answer=48620&quot;&gt;control its crawl rate&lt;/a&gt;. 

Then, too, if you may have multiple sites on your server, the spider or bot may not consider that in deciding to send a wave of requests to your server. It may say &quot;I&apos;ll only send requests to domain x at a rate of 1 per second&quot;, but it may not realize that it&apos;s sending requests to domains x, y, z (and a, b, and c) all of which are one server/cluster, which could lead a single server to in fact be hit far more than once a second (in that scenario).  It may seem that&apos;s an edge case, but honestly it&apos;s not that unusual from what I&apos;ve observed.

Finally, another reason all this becomes a concern is that of course there can be many spiders, bots, and other automated requests all hitting your server at once sometimes. My tool can&apos;t help with that, but it can at least the other points above.

(As with so much in IT and this very space, things do change, so what&apos;s true today may change, or one may have old knowledge, so as always I welcome feedback.)

&lt;h2&gt;The code&lt;/h2&gt;

So I hope I&apos;ve made the case for why you should consider some throttling, such that too many requests from one IP address are rejected. I&apos;ve done it in a two-fold approach, sending both plain text and an http header that is appropriate for this sort of &quot;slow down&quot; kind of rejection. You can certainly change it to your taste.

I&apos;ve just implemented it as a UDF (user-defined function). Yes, I could have also written at in all CFscript (which would run in any release, as there nothing that couldn&apos;t be written in script in that code--well, except the CFLOG, which could be removed). But since CF6 added the ability to define UDFs with tags, and to keep things simplest for the most people, I&apos;ve just done it as tags. Feel free to modify it to all script if you&apos;d like. It&apos;s just a starting point.

I simply drop the UDF into my application.cfm (or application.cfc, as appropriate). Yes, one could include it, or implement it as a CFC method if they wished.

&lt;code&gt;&lt;cffunction name=&quot;limiter&quot;&gt;
	&lt;!--- 
		Written by Charlie Arehart, charlie@carehart.org, in 2009 
		- Throttles requests made more than &quot;count&quot; times within &quot;duration&quot; seconds. 
		- sends 503 status code for bots to consider as well as text for humans to read
		- also logs to a new &quot;limiter.log&quot; that is created automatically in cf logs directory, tracking when limits are hit, to help fine tune
		- note that since it relies on the application scope, you need to place the call to it AFTER a cfapplication tag in application.cfm
	---&gt;

	&lt;cfargument name=&quot;duration&quot; type=&quot;numeric&quot; default=3&gt;
	&lt;cfargument name=&quot;count&quot; type=&quot;numeric&quot; default=&quot;3&quot;&gt;

	&lt;cfif not IsDefined(&quot;application.rate_limiter&quot;)&gt;
		&lt;cfset application.rate_limiter = StructNew()&gt;
		&lt;cfset application.rate_limiter[CGI.REMOTE_ADDR] = StructNew()&gt;
		&lt;cfset application.rate_limiter[CGI.REMOTE_ADDR].attempts = 1&gt;
		&lt;cfset application.rate_limiter[CGI.REMOTE_ADDR].last_attempt = Now()&gt;
	&lt;cfelse&gt;
		&lt;cfif StructKeyExists(application.rate_limiter, CGI.REMOTE_ADDR) and DateDiff(&quot;s&quot;,application.rate_limiter[CGI.REMOTE_ADDR].last_attempt,Now()) LT arguments.duration&gt;
			&lt;cfif application.rate_limiter[CGI.REMOTE_ADDR].attempts GT arguments.count&gt;
				&lt;cfoutput&gt;&lt;p&gt;You are making too many requests too fast, please slow down and wait #arguments.duration# seconds&lt;/p&gt;&lt;/cfoutput&gt;
				&lt;cfheader statuscode=&quot;503&quot; statustext=&quot;Service Unavailable&quot;&gt; 
				&lt;cfheader name=&quot;Retry-After&quot; value=&quot;#arguments.duration#&quot;&gt;
				&lt;cflog file=&quot;limiter&quot; text=&quot;#cgi.remote_addr# #application.rate_limiter[CGI.REMOTE_ADDR].attempts# #cgi.request_method# #cgi.SCRIPT_NAME# #cgi.QUERY_STRING# #cgi.http_user_agent# #application.rate_limiter[CGI.REMOTE_ADDR].last_attempt#&quot;&gt;
				&lt;cfset
		application.rate_limiter[CGI.REMOTE_ADDR].attempts = application.rate_limiter[CGI.REMOTE_ADDR].attempts + 1&gt;
				&lt;cfset application.rate_limiter[CGI.REMOTE_ADDR].last_attempt = Now()&gt;
				&lt;cfabort&gt;
			&lt;cfelse&gt;
				&lt;cfset
		application.rate_limiter[CGI.REMOTE_ADDR].attempts = application.rate_limiter[CGI.REMOTE_ADDR].attempts + 1&gt;
				&lt;cfset application.rate_limiter[CGI.REMOTE_ADDR].last_attempt = Now()&gt;
			&lt;/cfif&gt;
		&lt;cfelse&gt;
			&lt;cfset application.rate_limiter[CGI.REMOTE_ADDR] = StructNew()&gt;
			&lt;cfset application.rate_limiter[CGI.REMOTE_ADDR].attempts = 1&gt;
			&lt;cfset application.rate_limiter[CGI.REMOTE_ADDR].last_attempt = Now()&gt;
		&lt;/cfif&gt;
	&lt;/cfif&gt;
&lt;/cffunction&gt;
&lt;/code&gt;

Then I call the UDF, using simply cfset limiter(), as shown below. That&apos;s it. No arguments need be passed to it, unless you want to override the defaults of limiting things to 3 requests from one IP address within 3 seconds. 

&lt;code&gt;
&lt;!-- the following must be done after cfapplication --&gt;
&lt;cfset limiter()&gt;
&lt;/code&gt;

Note that since the UDF relies on the application scope, you need to place the call to it AFTER a cfapplication tag if using application.cfm.

&lt;h2&gt;Caveats and more&lt;/h2&gt;

There are definitely a few points to consider, and some concerns/observations that readers may have.

&lt;ul&gt;
&lt;li&gt;First, BlueDragon fans will want to point out that they don&apos;t need to code a solution at all (or use this), because it&apos;s had a CFTHROTTLE tag for several years. Indeed it has. I do wish Adobe would implement it in CF (I&apos;m not aware of it existing in Railo). Until then, perhaps this will help others has it has me.&lt;/li&gt;

&lt;li&gt;More important, some will be quick to point out a potential flaw in the approach of throttling by IP address is that you may have some visitors who are behind a proxy where they appear to your server to all be coming from one ip address. Fair enough. This is a dilemma that requires more handling. For instance, the BD CFThrottle tag implements this with a TOKEN attribute allowing you to key on yet another field in the request headers. I didn&apos;t choose to bother with that, as in my case (on my site), I just am not that worried about the problem. You may need to, so beware. Again, the log will help you determine how much it&apos;s doing any work at all.&lt;/li&gt;

&lt;li&gt;And some may recommend (and others may want to consider) instead doing this throttling at the servlet filter level, rather than CFML (something I&apos;ve &lt;a href=&quot;http://www.carehart.org/articles/#2003_2&quot;&gt;written about before &lt;/a&gt;.) Yep, since CF runs atop a servlet engine (JRun by default), you could indeed do that, which could apply then to all applications on your entire CF server (rather than implemented per application like above.) And there are indeed throttling servlet filters, such as &lt;a href=&quot;http://www.servletsuite.com/servlets/trafficflt.htm&quot;&gt;this one&lt;/a&gt;. Again, I offer this for those who aren&apos;t interested in that.&lt;/li&gt;

&lt;li&gt;And of course, an inevitable question/concern some may have is, &quot;but if you slow down a bots, might that that not affect what they think about your site? Might they stop crawling entirely?&quot; I suppose that&apos;s a consideration that each will have to make for themselves. I implemented this several months ago and haven&apos;t noticed any change either in my page ranks, my own search results, etc. That&apos;s all just anecdotal, of course. And again, things can change. I&apos;ll say that of course you use this at your own risk. I just offer it for those who may want to consider it, and want to save a little time trying to code up a solution. Again, I welcome feedback if it could be improved.&lt;/li&gt;

&lt;li&gt;Now, one other gotcha to consider, if you implement this and try to test it: some browsers have a built-in throttling mechanism of their own and they won&apos;t send more than x requests to a given domain from the browser at a time. I&apos;ve &lt;a href=&quot;http://www.carehart.org/presentations/#browser_surprises&quot;&gt;spoken on this before&lt;/a&gt;, and you can &lt;a href=&quot;http://www.stevesouders.com/blog/2008/03/20/roundup-on-parallel-connections/&quot;&gt;read more&lt;/a&gt; from yslow creator Steve Souders. So while you may think you can just hit refresh 4 times to force this, it may not quite work that way. What I have found is that if you wait for each request to finish and then do the refresh (and do that 4 times), you&apos;ll get the expected message. Again, use the logs for real verification of whether the throttling is really working for real users, and to what extent.&lt;/li&gt;

&lt;li&gt;There is of course another nasty effect of spiders, bots, and other automated requests, and that&apos;s the risk of an explosion of sessions which could eat away at your java heap space. People often accuse CF of a memory leak, which it&apos;s really just this issue. I&apos;ve written on it before (see the related entries at the bottom here, above the comments). This suggestion about throttling requests may help a little with that, but it really is a bigger problem with other solutions, that I allude to in the other entries.&lt;/li&gt;

&lt;li&gt;Finally, yes, I realize I could and should post this to the wonderful &lt;a href=&quot;http://www.cflib.org&quot;&gt;CFlib&lt;/a&gt; repository, and I surely will. I wouldn&apos;t mind getting some feedback if anyone sees any issues with it. I&apos;m sure there&apos;s some improvement that could be made. I just wanted to get it out, as is, given that it works for me and may help others.&lt;/li&gt;
&lt;/ul&gt;
Besides feedback/corrections/suggestions, please do also let me know here if it&apos;s helpful for you. 
				</description>
				
				<category>tools</category>
				
				<category>java</category>
				
				<category>tuning</category>
				
				<category>monitoring</category>
				
				<category>troubleshooting</category>
				
				<pubDate>Fri, 21 May 2010 13:03:00 -0400</pubDate>
				<guid>http://www.carehart.org/blog/client/index.cfm/2010/5/21/throttling_by_ip_address</guid>
				
			</item>
			
			<item>
				<title>Free tools for SAN monitoring, VM Monitoring and more...and their educational site</title>
				<link>http://www.carehart.org/blog/client/index.cfm/2010/5/17/free_tools_for_san_vm_monitoring_more</link>
				<description>
				
				Folks know that I like to share news of tools (see my &lt;a href=&quot;http://www.cf411.com&quot;&gt;CF411 site&lt;/a&gt;), but I want to point out here a couple of free ones in particular that may address problems people are having in new/modern configurations: &lt;b&gt;one is a tool for monitoring a SAN, and the other is for monitoring VMs&lt;/b&gt;. 

It also gives me a chance to offer some props for the site of the company behind the tools, SolarWinds, which again many may find valuable in educating not only about the tools but the topics that the tools help with.

&lt;h2&gt;The free SAN and VM monitoring tools&lt;/h2&gt;
The two tools (and one more for bonus) are:
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;&lt;a href=&quot;http://www.solarwinds.com/products/freetools/san_monitor/&quot;&gt;SolarWinds Free SAN Monitor&lt;/a&gt;&lt;/b&gt; - keep a close eye on the performance &amp; capacity of your storage arrays and become a storage superhero! 
&lt;br&gt;Note also:
&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://www.solarwinds.com/products/freetools/san_monitor/videos.aspx&quot;&gt;Intro video&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Or step up to their commercial &lt;a href=&quot;http://www.solarwinds.com/products/profiler/storage_management/&quot;&gt;Storage Profiler&lt;/a&gt; - Multi-Vendor Storage Performance Monitoring&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;

&lt;li&gt;&lt;b&gt;&lt;a href=&quot;http://www.solarwinds.com/products/freetools/vm_monitor.aspx&quot;&gt;VM Monitor&lt;/a&gt;&lt;/b&gt; - continuously monitor a VMware&#xae; ESX Server and its virtual machines with at-a-glance virtualization health statistic
&lt;br&gt;Note also:
&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://www.solarwinds.com/geek/videos.aspx?video=52&quot;&gt;Intro video&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;

&lt;li&gt;&lt;b&gt;&lt;a href=&quot;http://www.solarwinds.com/products/freetools/wmi_monitor/&quot;&gt;WMI Monitor&lt;/a&gt;&lt;/b&gt; - monitor your Windows&#xae; apps and servers in real time, using built-in, community-sourced, and customizable application templates!
&lt;br&gt;Note also:
&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://www.solarwinds.com/geek/videos.aspx?video=53&quot;&gt;Intro video&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

I haven&apos;t yet used them myself, so this isn&apos;t so much a recommendation of the tools but rather a recommendation that you consider them if you are interested in what they have to offer.

The company offers &lt;a href=&quot;http://www.solarwinds.com/products/freetools/&quot;&gt;still more free tools&lt;/a&gt;, as well commercial ones of course.

&lt;h2&gt;A company that gets how to educate you about their products&lt;/h2&gt;

You may have noticed above that I offered as well links to videos about each product. SolarWinds has really done a great job offering educational resources, especially videos, and organizing them into categories such as &lt;a href=&quot;http://www.solarwinds.com/geek/videos/tech_talks.aspx&quot;&gt;tech talks&lt;/a&gt;,  &lt;a href=&quot;http://www.solarwinds.com/geek/webcasts.aspx&quot;&gt;webcasts&lt;/a&gt;, and more.

Indeed, if you may be new to network management (which can be a broad and/or deep subject, appealing variously to generalist IT geeks and hard-core network admins), they offer lots of compelling introductory resources, including their &lt;a href=&quot;http://www.solarwinds.com/geek/geekguides/&quot;&gt;geek guides&lt;/a&gt;  and even &lt;a href=&quot;http://www.solarwinds.com/certification/learn_network_management_fundamentals.aspx&quot;&gt;certification training &lt;/a&gt;. Of course they also have a &lt;a href=&quot;http://geekblog.solarwinds.com/&quot;&gt;helpful blog&lt;/a&gt; and &lt;a href=&quot;http://twitter.com/sw_headgeek&quot;&gt;twitter feed&lt;/a&gt;.

Just as I &lt;a href=&quot;http://www.carehart.org/blog/client/index.cfm/2008/5/24/site_wins_customers&quot;&gt;previously praised the Mura folks&lt;/a&gt; as a &quot;company who got it right&quot; in terms of setting up a compelling, informative web site for IT folks, I really have to say the same for the SolarWinds folks. Congrats, and thanks. 
				</description>
				
				<category>tools</category>
				
				<category>monitoring</category>
				
				<category>troubleshooting</category>
				
				<pubDate>Mon, 17 May 2010 21:00:00 -0400</pubDate>
				<guid>http://www.carehart.org/blog/client/index.cfm/2010/5/17/free_tools_for_san_vm_monitoring_more</guid>
				
			</item>
			</channel></rss>