Understanding ColdFusion Web Hosting

Today WebHostingWatch.com released an artcle describing ColdFusion hosting. http://www.webhostingwatch.info/webhost-reviews/understanding-coldfusion-web-hosting/

I found it to be inaccurate at best and confusion since it is riddled with bad grammar (and I thought I was dyslexic) and half or mis-information about ColdFusion.  I tried to leave a polite comment explaining ColdFusion, CFML, the other CFML engines and the various types of CFML hosting.  Either the comment form is redirected to dev>null or they just are not moderating or allowing comments.  So I chose to repost my comments here because the fact is people need to understand what ColdFusion and CFML are and how they will benefit their websites and businesses.

So this is the comment I posted:

[More]

VMWare Fusion, ColdFusion, Open BlueDragon

I'm very new to the world of running Virtual Servers.  It's a strange concept to me.  Even though I manage many of my own physical servers I'm finding it a little hard to grasp this whole concept.  Given that, I've manged to do two different installs today. Oh, I should mention I'm doing this on my Mac Book Pro with a 2.2Ghz Core Dual and 4Gb of ram.  So far I am finding Fusion, VMWare's only Mac offering, to be easy enough to use.  I did manage to install Ubuntu from the ISO, however the mouse behavior was real odd and I never did get the VMTools installed right.  I have more to learn.

I did find a neat website, elasticserver.com. Elastic Server lets you use a web interface to build your VM appliance stack.  I was able to pick the software I wanted on my 'server'.  I chose Open Blue Dragon, JBOSS,

[More]

BlogCFC, PostgreSQL and Bluedragon

In my description of this blog I wrote that I converted BlogCFC to work with PostgresSQL. It did not take much to make the conversion and the code is still fully compatible with the other versions of databases that are officially supported. There is absolutely no reason why PostgreSQL should not be supported.

So here are some examples of the changes I made. Most of the changes had to due with date functions and in most cases can be spotted in the code by looking for db type "PGSQL".

In the file blog.cfc version 5.9.002

First add PostgreSQL as a valid db type.

[More]

Why PostgreSQL

Many people ask me why I am using PostgreSQL.  I tell them I've been using it for many years and found it to be much better than MySQL is many ways back in those days. Today MySQL has caught up on most fronts and PostgreSQL has gotten the led out and is much faster than ever before. The full details are here [http://www.postgresql.org/about/] and the interesting [history is here].

It used to be that MySQL didn't have support for transactions and rollbacks, stored procedures, triggers, or referential integrity and much more.  From what I hear these issues are resolved in the current versions, however back when I needed these features PostgreSQL provided me the solution.  Plus the power and speed is phenomenal.  I see no reason to switch to any other ORDBMS now or any time in the future.

[More]

Coldfish test

This is a test of Coldfish in BlogCFC on Bludragon JX 7.0x.

--UPDATE-- I never did get Coldfish working with BlueDragon. However the code below may be useful to someone. It might even be a hidden cf_gem.

view plain print about
1<cffunction name="stripTags" access="public" output="false" returntype="string" hint="Remove all HTML tags from string">
2    <cfargument name="string" type="any" required="true" hint="String to clean"/>
3    <cfset var pattern = "<[^>]*>">

4    <cfreturn REReplaceNoCase(arguments.string, pattern, "" , "ALL")>
5</cffunction>

view plain print about
1<!--- ##################################################################
2# PCASE #
3# receive a string of data in any case and return the string #
4# in proper case format #
5# return data string #
6######################################################################## --->

7<cffunction name="PCase" access="public" output="false" returntype="String" hint="receive a string of data in any case and return the string in proper case format">
8    <cfargument name="string" default="" required="true" hint="string to alter">
9    <cfscript>
10        var listlen = listlen(arguments.string," ");
11        var return_string = '';
12        var pos = 0;
13        for (pos=1;pos lte listlen;pos=pos+1) {
14            if lenn(ListGetAt(arguments.string,pos," ")) gt "1") {
15                return_string = return_string & Ucase(left(ListGetAt(arguments.string,pos," "), 1)) & LCase(right(ListGetAt(arguments.string,pos," "), len(ListGetAt(arguments.string,pos," "))-1)) & " ";
16            } else {
17                return_string = return_string & Ucase(left(ListGetAt(arguments.string,pos," "), 1)) & " ";
18            }
19        }
20        return Trim(return_string);
21    
</cfscript>    
22</cffunction>