category: coldfusion


Improving Amazon Product Advertisements


 
Since I last blogged about mp3Salad getting traffic the number of page views it's received have steadily increased, each time amazing me when I check on my traffic stats. The site has received over 50k+ page views a month since February, with April toppling 80k. I realize that it's not a lot of traffic in relation to other more popular sites out there, but I felt that it was decent enough to try and see if I can earn a little bit of extra scrilla. With that focus in mind I went looking for affiliatepublisher programs out there that I thought would be relevant to mp3Salad's users and landed at Amazon's Affiliate Program. read more... 


 

Unneccessary Whitespace


 
A little bit of a gripe here, but why do we have to explicitly tell ColdFusion not to output tons of useless whitespace, line breaks and tab characters? Would there ever be a valid case in which that 'data' would be usefull?

My questions come from a recent post by Ray Camden, "Generating XMLfrom a CFC? Watch out for whitespace" reminding us that CFCs will generate 'whitespace' when processing a Component Constructor, unless you use output="false" in the <cfcomponent> tag. Why wouldn't Adobe make that the default behavior and force it's developer to say "Yes, I want non-sensical whitespace pushed to the output buffer!", it seems so obvious.

The extraneous whitespace adds to the content length of a page and in some cases (as Ray pointed out), can add technical challenges to your projects.<cfcomponent>  


 

Coldfusion can be Free


 
A while back there were a lot of comments being made on some blog posts about beginners shying away from ColdFusion because it wasn't free and how CF has become more focused on the corporate market. While I think that moving towards corporate is a natural progression of any language (except php which will almost always remain in the hands of common man/woman), I want to dispel that myth that there aren't non-Adobe alternatives that are 100% free. Below is a list of CF alternatives that can be run in enterprise environments without dropping a dime:


An important thing to keep in mind is that the above engines don't neccessarily have all of the features (includes tags, functions, ect...) that the official Adobe version contains, however some like BlueDragon contain additional features (like interfaces) that Adobe does not.

Update: 03/05/07
Here are two more CF Engines

 


 

mp3Salad gets traffic!


 
mp3Salad is actually getting some traffic, not much, but traffic none the less. The other day I was fooling around in the web stats from my hosting provider (which I rarely do) and I noticed that I had about 5k+ page views to my 'domain' this month. Thats unusually high for me considering that no one except a few friends and family visit my sites.  Upon looking, I saw that mp3Salad alone had about 3.5k of them!! I couldn't believe it, considering I had done nothing more than submit it to Google to be indexed (and placing a link to it on this site). I'm starting to think it might be worth while to give the site some more of my attention.

Update (01/18/2007):
Here is a snapshot of the traffic to my 'domain' from Jan. 1 - Jan. 18
 


 

Has the CF community forgotten about no-argument constructors in CFCs?


 
After reading the following quote in the Wikipedia entry for ColdFusion;

"Unlike other object-oriented languages, ColdFusion does not support constructors as a first-class language concept. Rather, all constructors must be factory methods."

and seeing the question "How do I get around a lack of constructors in CFCs" on CF Cookbook (which I commented on),  I'm left to thinking that the CF community has forgotten entirely about no-argument constructors in our components and their ability to do more than just simple variable declarations upon object instantiation. Take for example the snippet of code I posted on CF Cookbook,



Before I start getting comments (haha-no one reads my blog!) on how that is not considered best practice, stop your self. I agree, I think that it's better practice to use init() as a 'pseudo constructor' to do stuff like this, but lets not pretending and present to others (like beginners) that they don't exist.