Better Exception Handling in ColdFusion

We have been using basically the same exception handling strategy for several years. It has worked pretty well in all of that time, but we recently decided to switch it up. Our previous exception handling system (the one that we have been using for years) made sure not to display valuable information to users, but did send us an email with the pertinent information.

This made for a system that was reasonably secure (in that it didn't share any sensitive data on screen), but still allowed for us to quickly find out about any problems so that we could take care of them.


Changing SVG Colors with ColdFusion

I love SVG. I remember when I first heard about it (in 2002) and I just loved the idea. Images made of text! I remember being excited about generating images with dynamic data from my server-side code. I didn't have a problem that I could solve with it yet, but that didn't stop me from immediately buying two books on SVG ("Teach Yourself SVG" and "Designing SVG Web Graphics").


What technologies, other than ColdFusion, should a developer know?

Fusion Authority recently ran an article called What's Hot? What's Not? Where Do We Go From Here? subtitled "What technologies, other than ColdFusion, should a developer know?". Mike Henke followed up the theme with a post called "What's Hot & Where do we go from here?".

I'm pretty sure I don't have the insight that other people have who have already written on the subject. But it seemed like a fun exercise, so I thought I would toss in my two cents with:

What technologies, other than ColdFusion, am I learning?

I'm not sure what technologies you should learn, but here are the ones that I am learning:


How to find the Perfect ColdFusion Hosting Plan

I am a ColdFusion addict. Besides programming in ColdFusion, I also spend time reading about ColdFusion (and not enough - yet - reading about other languages). I check up on CF-Talk at least every couple of days and follow ColdFusion lists on LinkedIn and sometimes on Facebook. I follow several ColdFusion programmers on Twitter and even visit the Adobe ColdFusion Forums sometimes.

In all of these forums, one question seems to come up more frequently than any other: "Where should I host my ColdFusion web site?". After reading that question dozens (maybe hundreds) of times, it finally dawned on me that this is a demand that needs to be met. People need a good resource for ColdFusion hosting.

For myself, what I always wanted was an easy way to see which ColdFusion hosting plans met my specific criteria (for example, a ColdFusion plan that supported SQL Server and allowed CFEXECUTE). Doing that proved to be quite difficult, actually - especially as the number of criteria increased. So, I built what I wanted to exist.


How We Got Started in ColdFusion

On the first day of last month, we had a fun "How I Got Started in ColdFusion" day. The response was much bigger and better than I expected. Including blog entries, "How I got Started" stories in comments on different blog entries, and one Google+ entry, I have found and compiled 110 responses (sortable and filterable page of all stories I have found so far).

Where I could determine the answer, I tracked what version of ColdFusion each person was using and which year they started (though I did not attempt to determine one from the other). I also tracked broad categories of how people got started. One interesting thing that came from this was to see that there are really two different ways people get started in ColdFusion.


Essential Software for ColdFusion Development

I recently went through a rather severe computer tragedy from which I am just now recovering. As such, I have had the opportunity to rebuild my computer from scratch. Here is the software I deemed essential for my work as a ColdFusion developer. I'm curious what others have installed.

These are roughly in the order that I install them

  • Firefox: First thing I install on any computer.
  • IIS: Not really software, but I did have to enable it. Apache may be "better", but I like IIS personally and it is easy to get going. Just be sure to enable all of the correct services before you install ColdFusion
  • SQL Server Express: It is free for local development and a really good database program.
  • MS Office: The last of the Microsoft software. Despite all of the Microsoft haters out there, MS Excel is still my favorite program ever and MS Access is actually a pretty good local database.
  • ColdFusion: It's what I do.
  • ColdFusion Builder: I still miss ColdFusion Studio, but this is really growing on me.
  • Adobe CS Web Premium: I love Fireworks and it is handy to have Photoshop, Dreamweaver, and Flash as well.
  • Pidgin: Currently my IM of choice. Works well across lots of networks and runs fast.
  • CloudBerry Backup Desktop: I have tried Mozy and Rackspace's JungleDisk and liked them both well enough, but a friend recommended this so I am giving it a try.
  • ShadowProtect: Windows 7 has image back-ups, but the hardware independent restore feature of ShadowProtect seems like it could be really handy.
  • BeyondCompare: Simply the best file comparison program I have found.
  • Git for Windows: I'm in the early stages of learning Git, but I love it so far.

So, what do you think? Did I miss anything essential?

For anyone wondering what happened to my upcoming list of "How I got Started in ColdFusion" entries, I lost them but I know how to get that back so I will try to get on that soon. Sorry for the delay.

How I got Started in ColdFusion

After having announced "How I got Started in ColdFusion" day, I feel obligated to write mine.


August 1, 2011 is "How I Get Started in ColdFusion" Day

During the cf.Objective() conference at which I was a speaker (I did mention that I would work that into all future anecdotes!), I got into a conversation with some other developers (including Tony Garcia and Greg Moser) about how we got started in ColdFusion. I realized two important things:

1) Every "How I Got Started in ColdFusion" story is interesting. I have heard dozens so far and I have found each and every one of them to be interesting.

2) Very few of these stories seem to match how we expect people to get involved in ColdFusion.

So, I propose that all of us post a blog entry on August 1 telling how we got started in ColdFusion. If you don't have a blog, send me your story and I will post in on my blog.

This could be a really good way for our community to get a feel for how people really get into ColdFusion, which can help guide our discussions of what we can do to better spread the word.

I'm looking forward to hearing/reading how more people got started in ColdFusion!

cf.Objective Custom Tags Presentation

I had the high honor and great opportunity to speak at the most recent cf.Objective() conference.

If you haven't ever been to this conference, I would highly recommend it. This was the sixth year of the conference (my third) and it was fantastic all around. The other presentations were universally good (if not great). As always, I learned a lot - both in the presentations themselves and in conversations with other speakers and attendees.

For my part, I gave a presentation title "Don't Forget About Custom Tags", attempting to convince people that custom tags are still relevant and a great tool to have in your toolbox (and one which should be used frequently).

I zipped up the presentation (PowerPoint file and code) for anyone interested in seeing it.

I felt a bit more nervous than I expected, so I felt a little flat, but hopefully people enjoyed the presentation and I will get the opportunity again (I'll find out the answer to the first when I get the chance to read the reviews).

Thanks and congratulations to all of those responsible for putting on another great conference!

English-Friendly Interval Calculation

I am working on a small program to digest and store RSS feeds (in part using Ray Camden's nice RSS.cfc). One thing I ran into is that I want to be able to specify how frequently feeds should get updated. It seems obvious that I should have an argument for this in the init() method of my CFC. What I don't want, however, is to either limit myself to one interval (days, for example) or to have multiple arguments just for the interval.

Moreover, I really want to be able to specify the interval in a human-readable format. So, I created a UDF (implemented as a method in my CFC) to make date calculations based on a readable string indicating the interval.

Here are some examples of intervals that it will calculate:

  • daily
  • annually
  • every day
  • every other minute
  • every 3rd quarter
  • every fourth year
  • every other Saturday
  • 4th Saturday
  • three weeks
  • 2 months, 2 days, 11 minutes
  • - every second Sunday

Most of these should be pretty obvious, but the last two might require a touch of explanation. The UDF will accept a comma delimited list, in which case it will apply all of the intervals to the date given.

If the interval starts with a "-" then it will subtract the interval given. The subtraction will only apply to the entire interval, not to single items in the list.


More Entries

BlogCFC was created by Raymond Camden. This blog is running version 5.8.001.