Entries Tagged as 'ColdFusion'

The ColdFusion OOP Debate, Now Available in Audio Form

CFML , ColdFusion , Podcasts No Comments »

In case you missed hearing about it, Hal Helms, Brian Kotek, and Ben Nadel got together recently to do a podcast about the ongoing debate with doing object-oriented programming (OOP) in ColdFusion. Hal took the position that ColdFusion is not suited to doing OOP and that OOP is overkill for most ColdFusion applications, while Brian defended the use of OOP when used appropriately and judiciously, and Ben took on the role of the undecided developer.

I listened to the podcast this afternoon, and I thought it was a frank, rational, and realistic discussion about the issue (as I pretty much expected from these gentlemen). I encourage anyone who's got an interest in this topic to check out the podcast: you can download it from the following link:

http://epicenter-public.s3.amazonaws.com/ColdFusion-and-OOP--Match-Made-in-Heaven-or-Long-Road-to-Hell.mp3

Comments and further discussion about the podcast are being done using Google Groups, so if you have something to say on the topic, follow this link:

http://groups.google.com/group/coldfusionoo

Strange Error When Using <cfsavecontent> Within <cfthread> On a Shared Server

CFML , ColdFusion 1 Comment »

In my previous blog post, I mentioned running into a "weird issue" involving the comment subscription functions in MangoBlog. That functionality worked perfectly fine on my development machine, but when I uploaded everything to my site on a HostMySite shared server, I discovered that the database records for subscribers weren't being created.

After a lot of digging and experimenting, I tracked down the error. There are several places during the subscription process where variables are created using the <cfsavecontent> tag (the SQL for the record insert, the text of the email templates, etc.). When that code tried to run, I'd get the following error:

access denied (java.io .FilePermission C:\ColdFusion8\wwwroot\WEB-INF\cftags\savecontent.cfm execute)

Normally, that's the kind of error you get when access to a certain CF tag is disabled by your hosting provider. But I was able to write a simple .cfm page that used <cfsavecontent> and run it without any problems.

So I did some searching on Google and came across this Atlanta CFUG discussion thread:

http://www.mail-archive.com/discussion@acfug.org/msg05438.html

Apparently, there is some scenario (possibly involving sandbox security) in which <cfsavecontent> will not run inside of a <cfthread> tag. Since it's very likely that HostMySite has my site within a sandbox, I looked in the MangoBlog code for instances of <cfthread>, and indeed it turns out that the code events triggered during the subscription process were being processed through <cfthread>.

Rather than taking the time to figure out which events needed to be prevented from running inside <cfthread>, I simply added code to avoid that usage of <cfthread> entirely. (Please note that I'm not by any means an expert on MangoBlog, so don't take this as a recommended fix. And MangoBlog is designed to run on CF 7: the use of <cfthread> is optional, but from what I gather the blogging engine will use it if it's available).

When Adobe released the public bug tracker for ColdFusion today, I did take a brief look through it to see if this type of scenario was documented, but didn't see anything. There's no point in reporting the bug until I know what the exact conditions are that cause it to occur: maybe if I have some time, I'll set up sandbox security on my CF 8 developer box and tinker with it.

Anyone else (besides me and the Atlanta CFUG folks) ever run into this particular problem?

Relaunching My Blog With MangoBlog

ColdFusion , Miscellaneous 1 Comment »

I decided, mostly on a whim, that my blog needed a new look. It hadn't changed much since I first launched it back in October of '07, and it looked pretty stark compared to many of the current blogs out there now.

I was aware that a number of fellow ColdFusion bloggers were using a ColdFusion-powered blog engine called MangoBlog, but I didn't know much about it until I downloaded it and started poking around. Installing it on my local development machine was a breeze, and I was impressed by the skinning and plugin features, so I decided to give it a shot.

Installing it on my actual website proved to be more of a challenge due to my hosting environment (a shared server on HostMySite). For one thing, the 50-second execution time limit imposed on the server prevented the MangoBlog installation code that copies data over from BlogCFC from completing, but I was able to hack the code in order to break up the import process into several steps. I also ran into a weird issue that prevented the comment subscription functions from working (more on that in a separate blog post), but I got around that as well.

The "skin" I'm using is a personally-modified version of one of the skins that comes packaged with MangoBlog, called "Glossy Blue." I added a picture of Yosemite Valley my wife took in the summer of '06 as the page background, used some CSS hackery to widen the content area and give the side column a different background color, and expanded the size of the calendar icons so I could include the year as well as the month and day. I may make a few additional tweaks, but overall I'm pretty happy with it.

There's a lot going on in the ColdFusion community now that ColdFusion 9 and the new ColdFusion Builder IDE are now in public beta. I'm eager to delve into both products (but especially Builder because that will hopefully benefit me immediately), so I expect I'll have a few blog posts about those.

The whole reason I started blogging in the first place was so I could share some of the things I've come up with coding-wise, techniques and thoughts that might be of value to others, so I hope to continue blogging in that vein.

My Encounter With a ColdFusion Detractor (Part 2)

CFML , ColdFusion 6 Comments »

For those readers who didn't see my previous post regarding my conversation with Glen, Glen is a technical trainer who treated me to the usual "ColdFusion is dying" mantra we normally hear from other programmers.

The big question I had after that first encounter was why, as a trainer rather than a programmer, he had developed that opinion about ColdFusion. So when I ran into him again at the gym the other day, I asked him about that.

Turns out his belief that ColdFusion is dying is based on the job market for ColdFusion jobs. He told me he works/interacts with a dozen recruiting firms in the Washington D.C. area, firms looking to fill positions for government contractors like Lockheed, and that the number of ColdFusion positions compared to the number of positions programming in Java or Ruby is just so small. He added that a lot of the ColdFusion positions that did exist were senior positions where candidates were expected to know how create web services, work with Java, write object-oriented code, etc., making it hard for up-and-coming ColdFusion developers to find work.

I also found out that most of his training work involves training/teaching programmers OO-based languages over several weeks, so his perspective on programming trends isn't all that different from an actual programmer. Glen (who doesn't mind talking) went on to give me the standard advice given to modern-day programmers (the importance of having multiple programming language skill sets, the need to have a new job lined up before leaving your current one, etc.) before we parted company once again.

My thoughts? I don't doubt there are more jobs out there for languages like PHP, Ruby, and Java just as Glen said, but whenever I go out on websites to look for ColdFusion jobs, they're out there, and while many of them are senior-level positions, there are a few junior-level jobs to be had. Actually getting hired, however, made take some effort, as Michael Dinowitz noted in his recent blog post, "Are There Really ColdFusion Jobs?"

In the end, Glen's position on ColdFusion is nothing original: lack of marketshare is at the heart of every "ColdFusion is dying" argument we hear. But marketshare is only one metric, and it shouldn't be the main consideration when choosing a programming language.

The main consideration should be "does this technology allow me to build the web application I want?" And when that question is directed at ColdFusion, the answer is almost always "Yes."

My Encounter With a ColdFusion Detractor

CFML , ColdFusion 11 Comments »

Yesterday I ran into an old colleague at the gym (we'll call him Glen). Glen conducts training sessions on technical topics.

Glen asked me if I knew if anyone at the university was using Ruby on Rails. I told him that I didn't think so. He then told me that he was giving Ruby on Rails training at John Hopkins University because they were looking to reduce their use of Java. I responded by saying that I thought Hopkins also used ColdFusion for certain things.

I expected him to either simply agree with my observation, or perhaps offer an explanation about why Hopkins was looking at RoR verses expanding their use of ColdFusion. I was not expecting him to respond with the standard FUD about ColdFusion: it's dying, people are moving away from it, etc. He even went so far as to refer to it as the "COBOL of web programming languages."

I countered with the numbers announced at cfObjective(), that the number of ColdFusion developers had increased dramatically over the past year. That elicited a "well..." and then another assertion that ColdFusion use was decreasing in the federal government as well (there are a lot of government-oriented CF jobs here in the D.C. area).

There wasn't much else to say or do at that point. I couldn't hold him up from where he was going and I had somewhere else to be as well. So I shook my head, laughed at his prediction of ColdFusion's demise, and basically said "Yeah, we'll see about that."

My immediate feeling after the conversation was more amusement that annoyance. Year after year, we hear the annual proclamation that "ColdFusion is dead," yet the proclaimers never seem to realize that if they keep saying it year after year, ColdFusion obviously must be still around. And more often than not, they have no hard numbers to support the idea that CF use is waning, just statistic-free assertions.

Now that I'm several hours removed from the conversation, I find myself more curious about why Glen even had an opinion on ColdFusion in the first place. I don't know him all that well, but he's always struck me as a fairly rational person and not someone who's looking to make and win an argument, yet he immediately began disparaging ColdFusion the moment I mentioned it. What or who lead him to having this opinion about CF? I may have to ask him that the next time I run into him.