cfObjective 2010 Presenation: ColdFusion & jQuery - Two Great Tastes That Go Great Together

Yesterday I gave my presentation on ColdFusion 9 and jQuery integration. It was more of an intro approach to some of the topics and I'm glad that it was well received.

The presentation originally housed content about a mock company I made called Widgets Inc. I decided instead to swap out most of the media content with some content from the conference (a few photos and videos). It was done simply to make it a little more fun while hopefully learning something new.

Sorry for the large file size on the zip (~30MB). The reason is because of the final video at the end of demo 8 which was nothing more than just something for fun where I included pictures of many attendees at the conference (many of whom were in the audience). I kept it for the end and only showed it once Q/A was completed and we still had a minute to spare. I had planned to pull it from the final downloadable presentation zip file, but several people have asked me to keep in in there (sorry for the extra 19MB :).

I purposely have very little slides (mostly just the topic title and a slide about the presenter). I prefer to have the "meat & potatoes" be in the live demos of my presentations when possible. The attached zip does have a PDF for slides though in case you're interested. I did spend a little time yesterday and today adding notes to the top of each demo file before I uploaded the presentation to my blog. Definitely read those as well as the readme.txt file in the root. they help explain a little what I was talking about during my presentation (without having to bloat slides). To deploy the demo, you don't need a database. You just need access to CF9.

I've attached the zip file as an enclosure. If you're browsing my blog, there should be a "Download" link associated with the blog entry to get the file. Enjoy.

Side note: As I sometimes like to do, I have subtle jabs/jokes I take at Simon Free (someone I knew would be in the audience). Although we may have funny banter and jokes back and forth at conferences (and sometimes in our sessions) I still make sure that it doesn't overshadow the content or spoil the presentation. The subtle jokes are merely there for our amusement (and the amusement of others). But I'll be honest, we tend to "one-up" each other each time, so I fear how he will retaliate in his session at the next conference :). Oh, and if you ever run into Simon, ask him if he's French (he likes that ;)

Speaking at cf.Objective() 2010

I'm happy to announce that I'll be speaking at cf.Objective() 2010 this year. I have been fortunate enough to speak at the conference in the past (every year since it opened in 2006) and am excited to present once again. This year my topic will be ColdFusion & jQuery: Two Great Tastes That Go Great Together.

The early bird price ends on January 29, 2010, so make sure you register early in order to get a good discount (and before they sell out).

FarCry: Bulk Image Resize Script

Last week I finished writing a bulk image re-size script for a client of mine. It went through several revisions before finalizing on the version you can now download. Because I found it so useful I decided to release it to the public.

The script can be used for several reasons, but here are a few examples:

  • You've added new image fields (and sizes) to an existing content type with existing images.
  • You've decided to resize an existing image field.
  • You want to use a new image compiler on all existing images.

Although I've only tested the script in FarCry 5.1+, it should work in FarCry 4.x (but no promises :) ).

To download the script, please use the download link associated with this blog post (for RSS readers, refer to the enclosure file) use the download links below.

Here is a quick video tutorial where I show a couple examples of the script in use.

FarCry: Bulk Image Upload Script from Jeff Coughlin on Vimeo.

Update: I updated the script to better support FarCry 6. See download links below.
Download v1.0.1 (for FarCry 6.x)
Download v1.0.0 (for FarCry 4.x and FarCry 5.x)

New Site Released. Pretty Sweet

The guys at Articulate (who make E-Learning tools) today released a new product called Screenr which not only allow you to create video screencasts for their product line, but also allow you to post them right to Twitter. Better yet, the videos even play back on the iPhone.

But don't take my word for it. Go checkout Screenr's website and watch the 1-minute tour video.

CFUnited 2009 - What an Amazing Event This Year

Oh my. This has to have been the best CFUnited I've been to - Bar None. Liz, Nafisa, Cara, and the rest of the Stellr team did a phenomenal job. The sessions completely blew my mind. And the speakers, awe-inspiring. Every attendee and speaker I conversed with were not only friendly and talkative, but they were all just as happy about the overall event as I was.

And the location... one word, unparalleled. I mean, this place was a gem waiting to be discovered. I'm going to reserve the majority of this blog post just to talk about the conference center / hotel. Not that the sessions don't deserve more attention (they were beyond my expectations), but after all the previous CFUnited conferences I've been to (which were great), I never realized how much better an event can be just with subtle improvements at an event location.

What can I say? The amazing staff, delicious foods, the atmosphere... look, Ive been to many conferences over the past few years. This has to have been the best experience I've had so far (very good choice Stellr team!).

Let's roll back the clock to day 1 of the conference. I was about to give a session and they were still working out a few kinks. I was having a couple audio issues and within seconds staff members were on-hand hooking me up to the P.A. system and making sure my audio and internet connection were all set. They really knew their stuff and were extremely friendly. They made sure I was up-and-rolling in time before my session began. In my head I was giving them their first rating star (1 out of 5), so far so good.

Now we move a bit later in the evening to 11:30pm. Okay, this wasn't exactly "event-related", but bare with me. Many of us were outside at the fit pit. We were celebrating a great first day and having a few drinks (okay more than a few) and we were being quite boisterous. There had to have been more than 30 people outside (probably 50+, I wasn't counting). Everyone was having a good time and rehashing the knowledge gain from day 1. Around 11:30-ish these two burly security-looking guys come out from the back of the hotel and made a B-Line for our group. Uh oh, party's over. I gave one of the guys a sheepish look and said, "Are we being too loud?" (implying, "Time to pack it up?"). The guy smiled and said "Nope, we just wanted to see if guys were having a good time. Is there anything you need?" I couldn't believe it. Really? Aren't we being too loud? Liz talked to some of the staff and mentioned that the bar had closed. Can you believe this, they hooked her up with more beer and smores for the fire pit. *bing* (now 2 out of 5 stars).

The food.... where do I begin on the food? Let's start with the hallways outside the sessions. The hotel staff made sure that we were always stocked with plenty of drinks and snacks... from soda pop, to coffee, juice (orange, apple, grapefruit, etc), milk, coffee, bottled water, and on and on. And LOTS of it. This is not something we've been accustomed to in the past. Heck, even in the mornings I could come down and grab a bowl of cereal, bagel, yogurt, or fresh pastry. Other snacks included granola bars, healthier snack bars, cookies, brownies (keep in mind that this was throughout the entire day, not just designated 15 minute breaks). The list goes on, but the point is they made sure we were always fully stocked. *bing* (3 out of 5 stars).

At previous conferences it was a challenge to grab a quick snack or drink between sessions before the quantity ran out or the timer ran out (and the staff would pull the items as you were reaching for them (this actually happened last year)). However, this year we were always stocked. You never saw people hovering around food/snack stations trying to get "something" before it was gone. Instead you'd find attendees with vendors or socializing with each other between sessions. *bing* (4 out of 5 stars)

One last thing I'll comment here regarding the snack areas: I'm not much of a soda drinker, but I know a lot of people who have this "thing" for diet soda (it's like a religion :)). On the first day I was in one of that halls where they stocked snacks (there were several snack areas throughout) and saw a few attendees standing nearby (who apparently wanted diet soda). A staff member asked one of them "Is everything okay?" One attendee politely said, "Oh, this place is great. I was just hoping for a diet soda". The staff member didn't flinch. His response was simply, "You bet" and 60 seconds later he had an employee wheeling in a large cart of diet sodas. For the remainder of the conference I noticed that all snack areas were fully stocked with diet sodas. This is not the type of service I've had in the past at conferences. Top notch! *bing* (5 out of 5 stars)

The food, part 2... The meals (lunch). Wow. Simply, wow. I'm not sure words can really describe the succulent meals we had each day and the wonderful wait staff (although Eric took some really cool pics. I'll post a link to them here once I get it form him). We were treated so well I was wondering if they thought we were someone really important (like heads-of-state or famous rich people or something). Even on the repeat-sessions day (Sat) I was surprised. I knew ahead of time we'd only be having a sandwich buffet that day (rather than the wonderful meals we'd been having all week), so I went in expecting something bland and figured I'd just go somewhere else for lunch. Boy was I in for a surprise. Let's just say I had no problem going back for seconds. Yum. The staff made sure each day that we were all taken care of. They would clear our finished plates as soon as we were done to allow us time to enjoy a social interaction with our peers. I had expected the buffet lines to be very long and time consuming (like in past conferences). They seemed to be one step ahead there too. We'd all get out of session and to lunch at the same time (imagine several hundred people all going for the food lines at once). The lines would start off extremely long. But unexpectedly we were through the lines within a couple minutes with our food. Again, not what I expected at all. *bing* (6 out of 5 stars).

Wait, what?! 6 out of 5 stars? Sorry, looking back I just can't pick any one item to take a star away from. We'll just have to go unbalanced and give it a 120% success rating :)

Overall, a great week. I know this blog post concentrated mostly on the location. Believe me when I say the conference sessions, materials, speakers, attendees, and Stellr staff members were all amazing. They truly were. Even the vendor locations were great (I felt that by putting them in the hallways like that right outside the session rooms made sure they got really good exposure). I think I'm just so happy about this place because in the past we've had mediocre service when compared to this place. I'm not complaining about the past locations (I think they were all great). I just didn't know what I was missing until now. I *so* hope the Stellr team considers the Lansdowne Resort again for next year.

Great job Stellr team. And thanks everyone (speakers, attendees, vendors, and hotel/conference staff) for a wonderful event. I'm going to have to take a few days off just to digest all the knowledge from the full week.

From a Gary Larson cartoon I saw many years ago: [Jeff] raises his hand in class and says to the teacher, "Mr. Osborne, may I be excused? My brain is full."

CFUnited 2009 Presentation: PDF Documents and Forms in ColdFusion 9

I just finished my PDF presentation and CFUnited 2009 (titled: PDF Documents and Forms in ColdFusion 9) and thought I'd share it on my blog for anyone before I forget (see the download link associated with this blog post or refer to the enclosure file (for you RSS readers out there :) ).

In the zip file is the presentation itself (saved as a PDF) and the example test files.

A special thanks to Josh Adams for an earlier version of this preso from last year. Although I've changed most of it since then, it was his earlier preso that helped guide me in the right direction early on.

64-bit Support in ColdFusion 9 Standard

I was very excited to read last week that the upcoming release of ColdFusion 9 Standard will offer 64-bit support (currently with CF 8.01 you must purchase CF Enterprise in order to get 64-bit support).

I have many medium to large-scale client websites that consistently run out of RAM (a common problem with sophisticated CF frameworks and their successful caching implementations). However, none of the sites have required (nor have purchased) CF Enterprise.

The thing is, when it comes to hardware on a server RAM is cheap (unless you're using something like a paid VPS solution - somehow most of these hosting solutions get away with charging you more per month than it cost them to purchase the RAM on the server for a one-time fee).

Currently the RAM limitation in CF Standard (32-bit) is approximately 2GB (a limitation having to do with 32-bit java). However, "the emergence of the 64-bit architecture effectively increases the memory ceiling to 264 addresses, equivalent to approximately 17.2 billion gigabytes, 16.8 million terabytes, or 16 exabytes of RAM" (Wikipedia).

FarCry 5.1 Official Release

FarCry Core LogoThis news is actually a month old, but I haven't seen anyone else talk about it yet.

Daemon has once again outdone themselves with the release of FarCry Core 5.1. This new version comes with a very large assortment of new features and bug fixes when compared to the previous release of FarCry 5.0 from last June.

With over 200 documented bug fixes and new features, FarCry 5.1 is definitely an upgrade not to be missed. Below are a few I felt deserved mentioning:

  • Faster Startup Time: FarCry starts up much faster now (as well as application scope updates) for people using JVM 1.5 or better (if you have CF8, you should be all set). Because CF's createUUID() method is so slow, Rob Rohan replaced it with a third-party java class that creates UUIDs in a fraction of the time.
  • Friendly URL Engine Rebuilt: Friendly URLs no longer require a prefix of "/go/" and they are easier to manage. (see the docs for more details on the new Friendly URLs in FarCry 5.1).
  • New Admin Toolbar: When logged in and browsing the site, the admin toolbar now sits out of the way at the bottom of the screen. It has better information regarding the primary content on the screen and it even lets you edit content in a modal window while never leaving the page (New!). Consuming very little space it sits in an iframe rather than using javascript to modify the contents of the page. This was important because the previous admin toolbar (which floated on the left of the screen) sometimes made working on a website difficult - not only could you not validate your (x)HTML, but if you had javascript errors on the page you sometimes didn't know if it was because of your code or possibly a conflict with the the admin menu (logging out of FarCry was the only way to get by this issue).
  • New Developer API. A new developer API allows developers to access a single object with a library of common methods often used by developers. No longer does a developer have to dig around to find out how to do a custom getDescendants() method or find the default image path or file path. This is still a work in progress and is being updated with new methods, but is a great starting point for developers to look for common actions often needed.
  • New Ajax Features in Formtools: When using formtools on the frontend of your website, you can now do things like ajax form submission. Personally I don't like using formtools on the frontend (I like to pick and choose which js libraries to use and customize my own code), but I think a lot of people will find these features useful - just write a couple lines of code and FarCry will build out all of your forms and ajax for you.
  • New Pagination Functionality: Okay, this probably shouldn't really be on a list of big features. But I find myself using it more and more on projects because it allows me to conform easily to standards-compliant lists fairly easily with very little code.
  • Better Railo and OpenBD Support: Although FarCry's primary concern is to make sure it works on Adobe ColdFusion, support for Railo and OpenBD is an ongoing process. Daemon works with both companies to help make sure that both third-party engines can run as smoothly as possible with new features of FarCry as they come out. Every now and then something will break with a new feature or bug fix, but luckily the community is there to assist in pointing out the error and helping to bug fix.
  • New Blog Engine (Plugin): Although it hasn't been officially released as of yet, the current beta of the FarCry Blog plugin is pretty stable and currently is designed for FarCry 5.1+. It technically hasn't changed much since it's first beta release several months ago (with cool features like switching skins in a single click and easy content management), but it's something I strongly suggest checking out if you're in need for a blog engine. You can grab the version built for FarCry 5.1 on the FarCry builds download page (look for the file named

Daemon is already hard at work on the next release of FarCry Core 5.1.1 which promises to take care of a list of items that were pushed aside temporarily so that version 5.1 could get out the door. Already there have been many updates put into SVN and it looks like we may see a lot more jQuery functionality in the next release (I'm a huge fan of jQuery, so this only makes me happier). I can't wait to see what Daemon has in store for us next.

FarCry 5.1 Public Beta Released

FarCry Core LogoDaemon has announced the first public beta release of FarCry 5.1.  Along with a plethora of bug fixes, FarCry 5.1 introduces a new Friendly URL sub-system (no more need for /go/) as well as a faster engine under the hood. i18n has been brought back on the scene after a hiatus of a year or so and the new webskin caching system and list views things even easier than before.

One of the most notable features is better OpenBD and Railo support.  Although I don't personally use either (except for testing), I've been hearing great things about them.  Deamon is asking for more community testing with FarCry 5.1 beta on OpenBD and Railo.  So if you have a moment to give it a test run, let them know how it goes.

A new blog engine is planned to be released with FarCry 5.1 when it comes out (you can download the first release candidate of NearCry on Daemon's builds download page).

I am personally running the current beta of FarCry 5.1 in production on a few websites and intranets and it's running quite well. If you get a chance, download the latest bundle (currently titled "") from the download builds page and let Daemon know what you think.

Upgrade Hard Drive in a MacBook Pro

Last week I was running out of space again in my MacBook Pro. I've gone through this again and again (always running out of space - deleting files or moving them to a separate storage device to get a little more space). I finally decided it was time to upgrade.

Speed has also been an issue. For the last 3 laptops (since 2004) I have always purchased them with 7200 RPM drives. When I purchased this MBP last summer the largest 7200RPM drive they offered was a 160GB drive (with 8MB cache). It's actually a pretty decent Seagate drive.

At the time of this blog post, the largest 7200RPM drive for laptops is 320GB with 16MB cache (or 500GB for 5400RPM). Over the past 5 years I've had a lot of bad luck with 3.5" Western Digital drives (almost all of them have died - poor ventilation in my NAS I guess). But after doing some research I decided to get one of the Western Digital 320GB hard drives (the WD Scorpio Black 320GB drive without free-fall sensor (WD3200BEKT). I made sure not to get the one with the free-fall sensor (built-in shock protection) because there have been multiple reports of people having kernel panics when physically moving the laptop (a conflict between the HD's shock detection and the MBP's head parking technology). Although I could not find any official data (from WD or Apple) to back up this claim, it was enough to make me be more cautious and avoid the possible issue.

The whole process took about 3.5 hours (3 hours to clone the data from my 160GB drive to the 320GB drive, and a half hour to swap the drives).

When I was a PC repair tech and network engineer in the 90's I repaired quite a few laptops. I have to say, they were much more complicated back then than the ones I've taken apart over the past few years (IMO). Apple's was even easier. But I wasn't without help. I found this great walkthrough which saved me a lot of time. If you're considering doing this, let me give you a helpful tip I learned from a tech who trained me back in 1994. Before taking out screws from a laptop, grab an empty egg carton (qty of 12). As you move through each set of screws, use a new compartment in the egg carton (makes things so much easier :) ). Also, make sure you have the correct tools (I was lucky enough to already have precision screw drivers on my workbench - saved me an extra trip to the hardware store).

I also saved a lot of time by purchasing an external hard drive enclosure (I purchased that particular one for other reasons - I have a couple other SATA 2.5 and 3.5 drives I've been meaning to retrieve data from and this will make things much easier. Also, I found that device to be much cheaper on Best Buy, but I've had so much bad experience with Best Buy over the years and great experience with NewEgg that I'll keep going with the better service. I do, however, wish the device had Firewire 800 :) ). I was originally planning to use one of my existing USB external HDDs to clone the data (make an image), and then use the same drive to restore the image back to the new HDD, but I skipped the middle-man by using the enclosure and just moved the data over in one step.

So here's a breakdown of how I replaced the drive (3.5 hours):

  1. Researched some hard drives and chose the Western Digital WD3200BEKT drive for it's overall balance of speed and power consumption (speed being the more important factor for me). Suggest: or
  2. Shutdown all programs on my Mac and disconnected from the web (don't want some auto-update running by mistake)
  3. Mounted the new drive to the Mac (now in the enclosure unit) and formated it (use "Applications >> Utilities >> Disk Utility". Select the new drive (which shouldn't be formatted yet if new) and choose "Erase" with the default setting of "Mac OS Extended (Journaled)).
  4. Used Carbon Copy Cloner to clone the data and make the new drive bootable (took 3 hours)
  5. Shut down Mac and installed new HDD
  6. Booted up Mac with new HDD (it was a slow bootup the first time - see next step)
  7. This next part I couldn't find documented anyhere on the web. I just happened to catch some guy talking about it in a forum after having slow bootups from my recent restore.
    • Go into "System Preferences >> Startup Disk", select the new drive, and restart (your bootup will be much faster now).

I'm not sure if this upgrade would void my warranty with Apple (I have Apple Care), but if I have to send my MBP in for repair again in the future, I figure I'll just have to swap out my new HDD with the original before sending the laptop out. It's possible I could have paid Apple a large sum of money to upgrade the drive (note: They don't sell anything larger than 200GB 7200RPM) just to protect my warranty, but after having a bad first experience with an Apple Genius, I'd prefer to just do it the right way myself.

Previous Entries / More Entries

BlogCFC by Raymond Camden | RSS | Contact Blog Owner