[Looking for Charlie's main web site?]

Some code to throttle rapid requests to your CF server from one IP address

Note: This blog post is from 2010. Some content may be outdated--though not necessarily. Same with links and subsequent comments from myself or others. Corrections are welcome, in the comments. And I may revise the content as necessary.
Some time ago I implemented some code on my own site to throttle when any single IP address (bot, spider, hacker, user) made too many requests at once. I've mentioned it occasionally and people have often asked me to share it, which I've happily done by email. Today with another request I decided to post it and of course seek any feedback.

It's a first cut. While 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's stability and reliability, and it's been used by many others.

Update in 2020: I have changed the 503 status code below to 429, as that has become the norm for such throttles. I had acknowledged it as an option originally. I just want to change it now, in case someone just grabs the code and doesn't read it all or the comments. Speaking of comments, do see the discussion below with thoughts from others, especially from James Moberg who created his own variant addressing some concerns, as offered on github, and the conversation that followed about that, including yet another later variant.

Update in 2021: Rather than use my code, perhaps you would rather have this throttling done by your web server or another proxy. It is now a feature offered in IIS, Apache, and others. I discuss those in a new section below.

Background: do you need to care about throttling? Perhaps more than you realize

[....Continue Reading....]

Free tools for SAN monitoring, VM Monitoring and more...and their educational site

Note: This blog post is from 2010. Some content may be outdated--though not necessarily. Same with links and subsequent comments from myself or others. Corrections are welcome, in the comments. And I may revise the content as necessary.
Folks know that I like to share news of tools (see my CF411 site), 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: one is a tool for monitoring a SAN, and the other is for monitoring VMs.

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.

The free SAN and VM monitoring tools

The two tools (and one more for bonus) are:
  • SolarWinds Free SAN Monitor - keep a close eye on the performance & capacity of your storage arrays and become a storage superhero!
    Note also:
  • VM Monitor - continuously monitor a VMware® ESX Server and its virtual machines with at-a-glance virtualization health statistic
    Note also:
  • WMI Monitor - monitor your Windows® apps and servers in real time, using built-in, community-sourced, and customizable application templates!
    Note also:

I haven't yet used them myself, so this isn'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 still more free tools, as well commercial ones of course.

A company that gets how to educate you about their products

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 tech talks, webcasts, 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 geek guides and even certification training . Of course they also have a helpful blog and twitter feed.

Just as I previously praised the Mura folks as a "company who got it right" 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.

Better file searching (on Windows) with a powerful, fast, easy tool

Note: This blog post is from 2009. Some content may be outdated--though not necessarily. Same with links and subsequent comments from myself or others. Corrections are welcome, in the comments. And I may revise the content as necessary.

Update in 2019: Though this post is from 2009, I still use and recommend this tool daily, so nothing about what I said below has changed (except of course where I indicate other informational updates in 2010 and 2013). And to be clear the tool is updated constantly and sports a modern interface (unlike the favored "old tools" of other folks, which may look the same as they did 20 years ago).

Ever need to do a search for files with some given text (or files of a given name) in Windows? I realize you may use a favored file editor to do it, or (worse) may rely solely on the anemic Windows find. I'd like to point you to an awesome and free alternative.

For years I've used a great freeware tool, FileLocator Lite, and I love FLL for several reasons (as does nearly everyone I show it to). Read on for more.

[....Continue Reading....]

Chrome updated, adds auto-complete, management of "new tab", and much more

Note: This blog post is from 2009. Some content may be outdated--though not necessarily. Same with links and subsequent comments from myself or others. Corrections are welcome, in the comments. And I may revise the content as necessary.
I'm sure word will spread soon, but for those who've not heard,the Google Chrome browser has (finally) been updated, adding such desperately needed features as auto-complete, management of "new tab", and much more.

For more information, see this blog entry: this blog entry from someone on the Chrome team. It includes links to more details on each change, as well as a brief intro video.

I've been really missing the auto-complete feature, whereby if you fill out text fields on forms that you've entered before, it remembers. (This is not the form-filler of the google toolbar which you can use to fill in an entire page.) You just don't realize how much you use that simple auto-complete until you miss it. (And if you didn't miss it, well, you don't know what you're missing!) Of course, it can be disabled, but it's on by default in the new release.

The update is really fast. Again, see the other blog entry for more.

And I would suggest that if you have any comments like, "yeah, but they forgot xxx", etc., I'd say it would be more worthwhile for you to post those on the google team member's blog than to offer them here. Just sayin'. :-)

Missing the command menus (file, edit, view, etc.) in IE 7? Here's the fix

Note: This blog post is from 2008. Some content may be outdated--though not necessarily. Same with links and subsequent comments from myself or others. Corrections are welcome, in the comments. And I may revise the content as necessary.
It's Christmas, and that means...a few hours of tech support working on the computers of relatives you visit for the holidays. :-) One problem I've encountered a few times (even before now) is someone using IE 7 who says, "Why did they remove the menus, like File, Edit, View? How can I change options or call up help?"

Well, the fix is a pretty simple one, but one may miss it. In case any of my readers (or those googling for a solution) need the help, it's that you can right-click on the area where the menu should be (not on a tab, nor in the address bar above it) and you should see a pop-up set of context menu options to include "menu bar", "links", and "status" among other things.

You want to enable the "menu bar"

You'll notice that the "menu bar" option has no check mark next to it. Click on it, to set it, which will enable the menus. The "menu bar" is indeed what shows the File, Edit, View, and other menu commands. Hope that solves the problem for you, and if so, consider it my little Christmas gift to you.

If that option is already checked, then it may instead be that somehow hidden or moved. One tip is that there is also a "lock toolbars" option on the context menu mentioned above. If you de-select that, some of the various menu items will now show a small gray dotted vertical bar, which you can click on to move the particular toolbar. You may find somehow that the menu bar, if enabled but not visible, has somehow been moved or hidden.

Finally, once you have enabled the menu bar, you can use that "lock toolbars" to make it less likely that you or anyone else will cause it to disappear. Hope that helps.

Having problems with SQL Server/Oracle/DB2/Sybase? Check out Confio Ignite

Note: This blog post is from 2008. Some content may be outdated--though not necessarily. Same with links and subsequent comments from myself or others. Corrections are welcome, in the comments. And I may revise the content as necessary.
Hey folks, if you're having problems with your CF apps and you determine that (or wonder if) the cause may be due to problems in the database, check out Confio Ignite, a commercial tool that may be well worth the price for you.

Sure, there are many DB monitoring tools out there, but Ignite focuses on tracking, analyzing, reporting, and explaining wait events within the database--and you'd be amazed how often waits caused by your code, that of others, or from other operations in the DB are the explanation for poor performance. It can help target exactly what SQL statement or other operation is a cause of significant waits.

The tool presents the data aggregated over time, so you can view it per hour, day, week, etc. Great for both drilling down to find hot spots, and for viewing how coding/config improvements (resulting from your responding to the analyses) have led to performance improvements over time.

The tool runs with low overhead: it reads data that the DB provides, storing it in a database and providing a web-based interface to view that data. The process to read the data and create the repository (and present the web-based interface) can (and should) be done on a server separate from the server being monitored.

Here's a nice 2-minute demo. There's also a free trial, of course, and it's pretty quick and easy to install and benefit from.

As I noted in the title, it works with SQL Server, Oracle, DB2, or Sybase (sorry, not MySQL. Don't know why). And while it's a commercial product, it's not a ridiculously high price (as for some tools). I just learned of it in the past few weeks, and one customer of mine who tried it has been just thrilled with the results. I hope to write more about it later, but wanted to at least get this info out for folks to consider.

Ever find you can't use "Edit>Go To" in Notepad? Turn off wrapping

Note: This blog post is from 2008. Some content may be outdated--though not necessarily. Same with links and subsequent comments from myself or others. Corrections are welcome, in the comments. And I may revise the content as necessary.
Just a quick tip for some readers: if you find yourself using the built-in Windows NotePad editor, you may want to use the Edit>Go To command to jump to a line. But sometimes it's greyed out. What gives?

Turns out it's pretty simple: just turn off wrapping (Format>Word Wrap). Doh! I've missed it for years, so am passing it along.

I know some will want to jump in and say "why are you using NotePad anyway?" Please save the smart remarks (and let's see if someone skips reading this and comments anyway).

I'm well aware of the many alternative text editors, as well as alternative file viewers (two of over 100 categories in my CF411 list).

But there are times when one may find themselves working on a Windows server where perhaps they're not free to install an alternative editor, or perhaps they just need to view/edit one file quickly so don't want to bother.

For those folks, I hope the tip above may help.

If at first Outlook find (and spell check) doesn't succeed, try, try again

Note: This blog post is from 2008. Some content may be outdated--though not necessarily. Same with links and subsequent comments from myself or others. Corrections are welcome, in the comments. And I may revise the content as necessary.
I wanted to share this observation with anyone else who may be suffering the problem--and perhaps not even realize it. I've had a couple of instances where I've noticed that in Outlook (2007, though perhaps in 2003), when I use Advanced Find (ctrl-shift-f) to search my mailboxes, folders, calendars, tasks, or such, it sometimes hasn't found something I know is there.

And in fact, if I repeat the find a few times, sometimes it will go from showing no results, to showing what I expect. Woah! So keep that in mind, if you use.

Similar problem with Spell Check

I'll also note that I've found a similar problem with spell checking, at least the automated one that takes place when I send a message. I've got outlook set to check automatically (tools>options>spelling>always check spelling before sending), and sometimes I know I've typed an error and rather than stop to correct it have relied on the spell check to catch it later. But sometimes it's closed the message (on sending) without pointing out the error.

When I re-open it and do it again (not even a manual spell check, just sending it again), it then does catch the error. Yikes.

Not interested in hearing from nay-sayers

Now, I really don't want to hear from those who will complain about MS products, or Vista, or Outlook, or who would point me to alternative mail clients (like Thunderbird) or ask why I don't use gmail (I do, and I collect it in Outlook). Please, that's not the point of this thread, and some of us have legit reasons for the choices we've made.

Just trying to help others, maybe find a solution

I'm bringing this up here for those who do use Outlook, in case they may have also found they got no results on an Advanced Find search, or who rely on Spell Check. I'm just saying, try the search again a couple of times before giving up. And you may want to open and repeat a spell check if it's an important email.

It's certainly very dismaying that the problem exists. I don't even know where to begin to try to report it effectively.

This quirk about needing to search twice is unfortunate, and can certainly hamper one's trusting its results, but I've resorted to just repeating the search if I don't find something I know is there.

I'm pointing this out here in case others have the same problem, and especially if someone knows a fix. I do Windows Update pretty regularly, so there's not some obvious solution in that regard which I've missed.

Some tips about the features mentioned above

BTW, for anyone interested, Advanced Find can also be found (in 2007 at least) under the Tools>Instant Search menu. And to be clear, I don't use the instant search (or the search box at the top of the mailbox), nor the Search Desktop feature, both also in that menu. I also do not use the Windows Search feature built into the operating system, at all, for files or for email. When I want to search my mail boxes, folders, tasks, calendars, and such, I just use Advanced Find as I so prefer the greater control it affords.

And some of you may wonder, "how do you reopen the email once sent. It always goes immediately when I send". Well, I think that's the default. I always turn off the option, which is in tools>options>mail setup>send/receive>send immediately when connected (don't click the button lablelled send/receive. It's to the left of it.) With this option turned off, email doesn't get sent until you do a send/receive (f5 or tools>send/receive, or it happens automatically as scheduled, as in tools>send/receive>send/receive settings).

The delayed send is a great feature if you ever want to have a chance to reconsider a note actually before sending it, or you think of something just after trying to send it. Of course, sometimes you'll miss out and it will be gone, and of course there's always the drafts feature (just close the message, without sending) if you really aren't yet ready to send.

Anyway, it's a real boon with the problem above to being able to open a message after it's queued for sending to send it again, to trigger the spell check.

Another little trick I use, to catch when the spell check isn't working, is that I always end my messages with /Charlie (set as my signature), and I don't choose the "add to dictionary" option for that. So if a message fails to at least prompt me to correct that, then I know to re-open it and try again.

Don't dismiss the Google toolbar, especially if you're not aware of hidden features

Note: This blog post is from 2008. Some content may be outdated--though not necessarily. Same with links and subsequent comments from myself or others. Corrections are welcome, in the comments. And I may revise the content as necessary.
Do you use the Google toolbar, and if you have it, do you use it regularly? If you'd dismiss it, are you aware of all its features, including several hidden ones? I use them every day, and, no, the built-in search box in FF and IE 7 doesn't come close. Let me share a few tips with you if you'd missed these.

This entry was prompted by a survey up on a popular site (makeuseof, which I've blogged about before.) The survey asks people what toolbars, if any, they use in their browsers.

In the current voting most say they use none, and some commenters are dismissing them as "wastes of space". I thought that odd, as I use the google toolbar every day. I offered up the following as a comment, and then thought I'd share it here for my readers (have done only a slight bit of editing from my original comment there):

It's a shame to see some call toolbars a waste of space. OK, so many you've lamented them getting auto-installed on an unsuspecting user's computer, or hated when one tries to do that on yours. But not everyone who has one is an idiot.

For instance, I love the google toolbar and have for years. Sure, I realize that FF (and now IE7) offers a search box, but that's not all that the google toolbar does for you. Unfortunately, some of its best jewels are hidden gems, in that you may need to enable them with the "settings".

I use the "site" button every day (type in a search word and click the button to search what Google knows only about the current site). Sure, you can do it yourself with the "site:" keyword in any google search box you may have, but this is much less typing over the course of a day.

Same with doing a google image or froogle/products search, both buttons you can easily add.

There's also the "up" button that's worth adding, which lets you traverse up a site, whereby it removes whatever's at the end of the currently used URL. Often quite handy. Again, all things you could do yourself manually, but one click is nicer, and makes the toolbar very much worth the space to me.

These and a few other things are tips I first shared back in 2003.

Some features don't use any "space" at all, as the toolbar also enables a context menu on each page you visit. You can right-click the whitespace of any page you visit to see (under "page info" in FF2 and IE7):

  • backward links
  • cached snapshot of page
  • similar pages
  • translate page

Again, all these are things you can do without the toolbar as long as you have a quick google search bar of some sort and know the corresponding google keywords (link:, cache:, etc.). But again I use some of these every day, so I love not having to type those--plus some users would learn this way of these valuable Google features: they might not ever think to learn the keywords (or use the "advanced search" at google.com).

If I have one complaint, it's that I don't understand why these last 4 features aren't enabled as toolbar buttons (that can be added, optionally). I'd give up the space occupied by "send to" and "autolink" (though some may love those), and certainly "check" (the spell check) since that's built into FF. Anyone from Google (or others who might know more about this) care to comment?

Anyway, don't dismiss toolbars (and the google toolbar especially) so readily. You may be missing out on more than you know.

Hope that helps someone. (Actually, for some reason I still don't see my comment posted on the makeuseof blog entry. I suppose they may have some verification process. If I don't see it in a couple of hours, I'll post the above there again.)

Tools and Resources for CFers, Part 10: CFML Frameworks/Methodologies

Note: This blog post is from 2008. Some content may be outdated--though not necessarily. Same with links and subsequent comments from myself or others. Corrections are welcome, in the comments. And I may revise the content as necessary.
Today's category from my Tools and Resources to Consider for CF developers is from the Tools section, and it's "CFML Frameworks/Methodologies". I think many may be surprised to find how many there are. Of course, there are many different kinds, and sometimes the line between framework and methodology gets crossed. Finally, I do realize that there are other sites that focus just on tracking CF frameworks. I point to those as well.

Following is the text of this category as it stands on the tools/resources list, as I write this blog entry. As always, check the list to see the latest version. I'll use people's comments below to update that list (not this entry).

CFML Frameworks/Methodologies

There are far more CFML frameworks or methodologies than many may realize, and of course some will debate whether something should be called a framework or a methodology. I don't want to get into that debate, so I've just listed them here all together.

I provide whatever brief description may be found on the respective web site (so if you don't like the description, talk to the site owner and let me know if it changes...and framework owners, you'd do well to have a nice succinct description to help visitors get a quick understanding of the frameworks purpose, goals, intended use, etc.)

Similarly, if there's a name associated with the project on the site, or if a name is commonly known as being responsible for the framework, I list that. As always, I'm open to updates. Finally, I also don't for now order them by "type" of framework, since again some may debate what kind each is. For now, I'm just looking to help people realize the wide range of alternatives available. Check each out for yourself.

Note as well that some of these may be defunct. As long as there was a working site (or some relatively recent site talking about it, even if a third party), I list it. At the end I list some frameworks whose sites seem defunct. Again, updates are welcomed.

  • Blackbox "ColdFusion Development Methodology", from Dan Chick
  • CFObjects, "object-oriented ColdFusion development framework", from Steve Brownlee and Orbwave
  • COOP, "a framework that separates mark-up from processing logic", from John Farrar
  • cfrails, (couldn't find any brief description), from Sammy Larbi
  • COAL (Coldfusion Open Application Library), from Ryan Guill
  • ColdBox "event-driven CFC based ColdFusion Framework", from Luis Majano
  • ColdSpring "framework for CFCs", from Chris Scott
  • FarCry, "a cutting edge ColdFusion MX application framework for web based content management", from Geoff Bowers and Daemon Consulting
  • Fusebox, "the most popular framework for building ColdFusion and PHP web applications", from Team Fusebox
  • HomePortals, "especially tailored for building portals and other highly modular sites", from Oscar Arevalo
  • iiFramework, "manages many aspects of e-business development so that the programmer doesn't have to", from Infranet
  • Lightwire, "a very lightweight Direct Injection/IoC engine for directly injecting dependencies into singletons AND transient business object", from Peter Bell
  • Mach-ii, "a powerful, object-oriented, open source MVC framework for ColdFusion that focuses on easing software development and maintenance", from Team Mach-II
  • Model-Glue, "a family of frameworks [that] support Web application developers by making the construction of Object-Oriented Web and Rich Internet Applications a straightforward process", from the Model-Glue Team
  • onAir, "a 'Smart Connection Framework': Connect backend business logic written in CFCs with different clients (e.g. AJAX, Laszlo) via XML, XML-RPC, JSON, etc.", from Jan Jannek
  • OnTap, "shares some similarities with Ruby on Rails", from Isaac Dealey
  • Plum, "stands for Practical Lightweight Universal Methodology, and it incorporates a rich code generator, a development methodology, a comprehensive application framework that does just about everything you'll ever need to do with a ColdFusion application, a unit test generator, and stored procedure generator, a component generator, and much more.", from Productivity Enhancement
  • PureMVC, a CF port of PureMVC, "a lightweight framework for creating applications based upon the classic Model, View and Controller concept", from Cliff Hall (other ports include Flex [AS2, 3], PHP, Java, and .NET [c#])
  • Reactor, "an Object-Relational Modeling tool which generates database abstractions on the fly, as needed. Reactor is sometimes called an "Inline Dynamic Database Abstraction" API", from Alagad
  • SOS, "stands for Servant Oriented Software...uses the technology in a way that matches your developing style and needs", from John Farrar
  • Switchbox, "a programming technique and coding style used to develop flexible and scalable applications", from Joseph Flanigan
  • Tardis, "Model-View-Controller Framework for ColdFusion", from Shawn Gorrell
  • Tartan, "a command-driven service framework for ColdFusion", from Paul Kenney
  • TheHUB, "homegrown application development framework", from Neil Ross
  • Transfer, "ColdFusion Object Relational Mapping Library...to automate the repetitive tasks of creating the SQL and custom CFCs that are often required when developing a ColdFusion application", from Mark Mandel
  • ColdFusion on Wheels, "provides fast application development, a great organization system for your code, and is just plain fun to use", from the CFWheels Team
  • Some that seem defunct include cfoo.org, cfoop.com, fusionscript.com, MXF, MVCF, objectbreeze.com, underscoreframework.com
  • Some folks also see CMSs as frameworks, so see my list of them.
  • See also
  • I welcome additions/corrections/feedback.

About this series

This entry is part of an ongoing series, sharing each of the 100+ categories and the tools and resources I (and others) have identified. They're designed to answer the questions we hear, like , "does anyone know of tools or resources to help with ...?"

I've decided to start offering each category here as a blog entry, to give the list more exposure and to make sure I'm not missing anything. For now I'm offering each day one list from the resources and then another from the tools categories. To see the list of all categories, see Part 1 of this series. I may in the future offer an RSS feed of any updates made to the list.

I hope people will get great value out of the lists, here or on the tools and resources page. Please try to remember to point the list out to people you see asking for these kind of tools and resources. Thanks.

Additions/Corrections

The tools/resources list is a perpetual work in progress. I definitely welcome additions or corrections to it. If you have any to offer, you can leave them here as a comment on this blog entry and I'll move them to the list on my site.

BTW, before you offer an update here, please do check the category on the real list. I won't be coming back here to update these blog entries to sync them if I add new items to the real list.

Next up will be a category from the Resources section, CFML Hosting Alternatives. BTW, I had previously listed the "CFML Frameworks/Methodologies" category under "Resources", but have decided just now to move it to "Tools". Having done that, there are tool categories before it which I will indeed soon blog, as I go back and forth between blogging categories in each list.

More Entries

Copyright ©2024 Charlie Arehart
Carehart Logo
BlogCFC was created by Raymond Camden. This blog is running version 5.005.
(Want to validate the html in this page?)

Managed Hosting Services provided by
Managed Dedicated Hosting