East Bay CFUG – Overcoming Objections to Using Frameworks

Just got back from our 2nd East Bay CFUG meeting at our new location (New Horizons Computer Learning Center in Pleasanton, CA), and couldn’t be happier with the way the meeting went.

My goal with the group is to break away from what I’ve seen to be the traditional model of people showing up, a speaker speaks for an hour or so (while most people are texting or surfing on their laptops), swag is given out, and everybody goes home.

What I’m shooting for is to engage the audience. To hold interactive, collaborative meetings. Some might be small code challenges where everybody takes a few minutes to solve a particular problem, then shares their solution with the group. Others might be an open discussion on a given topic. Yet others might be hands-on labs to teach a particular technology.

Read More»

Securing Your XML Config Files

Yesterday I rolled out a new site, http://www.blitztweets.com. I announced it on Twitter, a few folks retweeted (thanks!), and Ray Camden descended upon it like a vulture descends upon a wounded bunny in the high noon desert heat. Ray’s got a knack for finding flaws in CF sites, and I’d be lying if I said I didn’t have him in mind during development.

Overall, I think I did pretty well. He found two issues. First, my contact form could be submitted without the user filling in any fields. That was OK. I don’t particularly mind if somebody really wants to send me an empty contact form. But the second issue… ooh, that was a doozy, and I’m duly embarrassed by it. He linked me to http://www.blitztweets.com/config/ColdSpring.xml, which proceeded to display the entire contents of the file in my browser window (it’s since been fixed). Oops.

Read More»

MAX 2009 ColdFusion Unconference

What, you may ask, is an Unconference?

As per Adobe’s MAX site:

Visit the Adobe ColdFusion® unconference area to participate in advanced tutorials and code show-and-tells. Share your latest cool code creations and explain how you built them.

Like last year, this year’s ColdFusion Unconference will be organized and run by Ray Camden, with an assist by Scott Stroz.

Unlike last year, this year I will be helping out, as Ray’s “Grunt Brute” (his term, not mine). I don’t know exactly what the job description is, but with a title like that, could I really have said no? (Side Note: It wouldn’t be the first time I’ve had a lapse in good judgment. I could tell stories, but my mom reads my blog and she’s disappointed enough in me as it is. Every family get-together it’s, “Oy, why ColdFusion? It’s a dead language!” She tells her friends I’m a Ruby developer. But I digress…)

I’m looking forward to doing my part in helping to make all 3 days of the Unconference as memorable as possible. Ray recently posted a Call for Speakers/Comments, so if you’d like to set up a session, or have comments as to something you’d like to see, please drop either Ray or myself a line.

Hope to see you in October!

Chrom-ifying Firefox

I’m a big fan of Mozilla’s Firefox browser for web development. It’s got a number of tools that I just couldn’t imagine doing without. ColorZilla, Web Developer Toolbar, and of course, Firebug (just to name a few).

But as time went on, I found that Firefox could be a memory hog. I had a handful of plugins installed, but not many. And no themes. But on more than one occasion, I’d see Firefox’s memory consumption start to increase dramatically.

Enter Google’s Chrome. Ironically, in spite of the name, there was very little chrome to be seen. It was a nice, lightweight browser that I eventually transitioned to for day-to-day browsing. Development continued in Firefox, but I really enjoyed Chrome as a lightweight alternative for browsing.

Last week, I made the switch from PC/Windows to a Macbook Pro (blog entry on thoughts of a PC guy making the transition to OS X to follow eventually). Unfortunately, Chrome isn’t available (yet?) for OS X. Well, back to Firefox as my “full time” browser.

Read More»

ColdFusion 8 Docs on AIR

Today in the #coldfusion channel on IRC (DALnet), somebody asked about a downloadable version of the ColdFusion documentation. I first suggested that he look at his local system since you can include the docs as part of your CF install, but he apparently didn’t choose this option.

I did a quick Google search to see if they could be downloaded easily, since it’s really just static HTML files, and came across a pretty neat AIR app by Brian Love, appropriately titled CFDocs on AIR.

The project looks to be about a year old, and according to Brian, was originally a project that he undertook in order to play around with AIR. It was a heck of a choice, because not only did he get some exposure to AIR, but he put together something that has a good deal of value. The application shows an alphabetical list of all of ColdFusion 8′s built-in tags and functions, shows tags and functions by category, and is searchable.

When I posted this to the #coldfusion channel in response to the original question, a couple of people commented that they hadn’t seen this yet and also thought it was a worthwhile effort. Since it seems to have flown under the radar since its release, I thought it’d be worthwhile to get the word out and mention it here.

Nicely done, Brian. Thanks for making this available.

Download CFDocs on AIR.

Helping out Joe and Dale

It’s been almost a month since Joe Rinehart, one of the superstars of the ColdFusion community, and an all-around good guy, revealed that his wife Dale had been recently diagnosed with Multiple Sclerosis (MS).

To get right to the point, some folks in the community got together and organized an effort to collect some funds to try and help offset the cost of medications and treatment. Please visit http://www.helpsupportjoeanddale.com to read a little bit more about the effort, and to help out if you can.

I know times are tough for many. I know there may be people saying, “That’s really terrible and my heart goes out to them, but I’ve got problems of my own so I can’t help out right now.” I can sympathize with that. Hell, I can empathize with that. On the personal side of things, we’re dealing with a house in FL that we’ve not been able to sell since we left over 2 years ago. It’s pretty much devastated our finances. Believe me, I understand. I might even have thought that way myself. But here’s a little story that might help explain why I’m going to do what I can (aside from “Every little bit helps”, which is true, of course).

Read More»

Awesome Customer Service – Java4Less

On one of my current projects, I needed to barcode a document (via CF) and subsequently read the barcode (again, via CF). The documents would be sent via fax and rerouted to the CF server.

Because of its durability, my client wanted to use a data matrix barcode. As luck would have it, Ryan Stille had already gone through the trouble of putting together a CFC for reading and generating data matrix barcodes (Thanks, Ryan!).

The CFC is a wrapper for some Java libraries that read and write barcodes. In the docs for the CFC, Ryan suggests a company called Java4Less.com. I grabbed evaluation versions of the appropriate libraries to ensure they’d work, which they did. I then instructed my client to go ahead and make the purchase and told him which 2 libraries we needed. Now, Java4Less offer up a few components and I’ve been a bit sleep deprived and long story short, one of the libraries that I told the client to purchase was not the correct library.

Read More»

<cfajaxproxy> – The Other White Meat

Over the past few weeks, I’ve had the opportunity to start playing around with some of the AJAX functionality built into ColdFusion 8. cfajaxproxy makes me happy.

In a nutshell, cfajaxproxy creates a “bridge” between client side JavaScript and a ColdFusion CFC. It’s nowhere near the full blown AJAX framwork that jQuery is, but rather reminds me of JSMX, which is a very lightweight AJAX framework that does little beside facilitating communication between client and server. While it allowed you to pass data from the client to the server, and receive data back, it assumed that you would write the corresponding code to manipulate the client based on the data that was sent back from the server. I’m pretty comfortable with JavaScript, so I was OK with that. cfajaxproxy is essentially the same thing. No bells-and-whistles per se, but as far as I’m concerned, that’s perfectly OK.

Read More»

More cfwindow Fun (Model-Glue, too!)

Working on a Model-Glue application, I found myself in a situation where a <cfwindow> would come in handy. It’s on a page that displays a list of items that belong to a user. For each item, the user can add a “journal entry”. This is simply a plain text field and a time/date stamp. Each entry displayed on the page has a link for “journal” that pops up a cfwindow that shows all of that item’s journal entries, along with a form (a simple textarea) allowing the user to add a new entry.

Using <cfform> allows the form submission to stay within the <cfwindow>, which worked great. A standard post allowed the page to refresh after the form was submitted (and the record inserted into the database), so it seemed to be a pretty user-friendly way to allow multiple journal entries to be added to an item. When the user was done adding entries, simply close the cfwindow.

Here’s where things got funked up… the first form submission worked great. The form’s action page called an event-handler that did the insert, and added a named result to the event to redirect back to the journal.viewJournal event, which (obviously) displayed the contents of the journal. The event needed the concept of a transactionID, so i used the append attribute of the result tag as follows:

Read More»

cfwindow and JavaScript Gotcha

OK I’ll be honest, this is straight out of the docs, but I figure there may be one or two people out there that don’t read the docs, so it might be worth passing along.

Today I needed to create a <cfwindow> (a tag that I do like, in spite of being on the fence as to whether or not I think the AJAX bits really belong in CF… but that’s another post). The source was a page that already existed in another part of the site I was working on. This page made some pretty heavy use of JavaScript, and not surprisingly, my first efforts to display it resulted in dismal failure.

Read More»
Page 3 of 612345...Last »
© Copyright Charlie Griefer