NY Flex User Group and Flash and the City 2011

I’ll be in New York next week doing two events:

NY Flex User Group
Tuesday June 7th 2011
Razorfish: 1440 Broadway 18 Flr. New York, NY 10018
I’ll be talking about the Flash Builder 4.5 and Flex 4.5. But I’ll also touch on some of upcoming features of Flex and Flash Builder and showing off a few cool new mobile projects.
Flash and the City
Thursday June 9th 2011
Find out more
I’ll be talking about ColdFusion, what’s currently going on with it, and why you would want to use it as a Flash Developer.

Make Your Line Longer

Ray Camden wrote a blog post earlier today about my demeanor towards ColdFusion advocacy. I am very appreciative of his kind words, and thought it would be a good time to share a little bit of the philosophy behind my attitude.

A phrase that has stuck with me through the years is “Make your line longer.”

It’s my paraphrase of a story from Zen in the Martial Arts by Joe Hyams.

Basically the story goes :

I will remember one of my initial sessions at his dojo in Los Angeles where I was practising Kumite (sparring) with a more skilful opponent. To make up for my lack of knowledge and experience, I tried deceptive, tricky moves that were readily countered. I was outclassed, and Parker watched me get roundly trounced. When the match was over I was dejected. Parker invited me into his small office; a small sparsely furnished room with only a scarred desk and battered chairs. “Why are you so upset? ” he asked. “Because I couldn’t score.” Parker got up from behind the desk and with a piece of chalk drew a line on the floor about five feet long. “How can you make this line shorter?” he asked. “I studied the line and gave him several answers, including cutting the line in many pieces. He shook his head and drew a second line, longer than the first. “Now how does the first line look? “Shorter,” I said. Parker nodded. “It is always better to improve and strengthen your own line or knowledge than to try and cut your opponent’s line.”

From KenpoKarate.ie (emphasis added)

The idea here is that people waste time trying to undercut their opponent instead of improving themselves. Undercutting an opponent benefits you once. Making yourself better is an investment that benefits you for the rest of your life.

What does this have to do with ColdFusion? The reason I don’t reciprocate to haters or bash competition, is because these are attempts to cut at their lines. I’d rather lengthen my own line. Show how ColdFusion is better. Make it do cooler stuff. Honestly accept and answer criticism and make ColdFusion and its ecosystem better.

And for those that don’t believe it can work, I will tell you it can. I’ve gotten into several conversations on twitter with people. One of my favorites I remember the best was with a Ruby on Rails guy who was bashing the tag based nature of CFML. Instead of fighting the tag/script war I talked about CFScript, and pointed him to my Google Translate API CFC on github. He admitted me might have been wrong, and was impressed by the fact that ColdFusion had unit testing. I didn’t convert him, but the next time he encounters ColdFusion he’ll take it a little more seriously.

The fact is that some people are haters, and will never accept somebody else’s argument. They’re d-bags. And with so many of us coming to age in a post-Internet world, they’re just getting worse. Don’t waste your time.

But there are many more venters in the world. They come to something they don’t understand and get frustrated, and when they do they vent. When they vent about ColdFusion, see it as an opportunity to help un-frustrate the frustrated, not a chance to avenge the hate. Do it by making your line longer, and not trying to cut the other guy down.

That’s what I’ve tried to do.

Gmail System Folders with CFImap

I’ve gotten a few question about this lately. 

When you do a CFIMap “listAllFolders” operation against Gmail, some folders don’t show up by default. Unfortunately they are among the more important folders like Drafts, Sent Mail, Spam, etc. They are there, but for some reason they don’t show up, even with recurse set to true.
I’m not sure the reason, I’m sure it has something to do with the fact that Gmail works with “Labels” and not folders.
The solution is to know what to target. To get the system folders you have to target the folder: “[Gmail].”
Here’s the code:


Southern California User Group Tour

I’m heading to Southern California in two weeks to do a miniature User Group tour. I’ll be talking about development for the BlackBerry PlayBook using Adobe tools. I’ll also cover ColdFusion as a Mobile Backend. If you’re in Southern California, and close to one of these meetings I invite you to stop in.

Tuesday February 1st
San Diego
Hosted by SDADUG and SdFug
6:00PM to 8:00 PM
The Art Institute of California // San Diego
7650 Mission Valley Rd.
San Diego, CA


Wednesday February 2nd
Los Angeles
Hosted by LACFUG
6:00pm – 8:30pm
5959 W. Century Blvd
Suite 1108
Los Angeles, CA

Thursday February 3rd
Hosted by IECFUG
6:15pm – 9:00pm
5-16 of building 98C
(the C/L/A building)
Cal Poly Pomona
Pomona, CA

Multiple Screens, One Server – Max Session

There are several ways to approach mobile application development. You can:

  • Write native apps
  • Write mobile browser based app
    • Rolling your own
    • Use a mobile framework
  • Use Flash and an AIR packager
Each has their plusses and minuses, but they all have one thing in common: They have to talk to a server somewhere. If I were to build the ideal server for a mobile application I think it would have the following attributes:
  • Ability to communicate with JavaScript Frameworks
  • Ability to communicate with Flash
  • Ability to communicate efficiently

It’s be nice if it did all that, and didn’t make me jump through hoops to get the same backend to do all three of them with the same code. If you threw in SMS communication, that would just be gravy.

It turns out (quite coincidentally) I know a server that fits all of those criteria. It’s also easy to use, and does a lot of other stuff for you. Of course it’s ColdFusion.
Come to my MAX Session Multiple Screens, One Server, to find out how ColdFusion can speed up your mobile development efforts.

Multiple Screens, One Server

Monday, October, 25th, 3:30 pm – 4:30 pm

ColdFusion Case Study

We just posted a new case study about Alcatel-Lucent using ColdFusion to power their new business to business social media tool. They used ColdFusion as part of a total solution that leveraged AIR and Flex as well as ColdFusion Builder and Flash Builder to power it.

My favorite quote:

“We often deploy ColdFusion as a middle tier between business logic and web services on the back end and the presentation layer on the front end. The ready-made hooks make things happen very quickly”

Add this to your list of resources to answer the question “Why ColdFusion?”

Adobe Success Story: Alcatel-Lucent

RIAUnleashed Will Unleash the Awesome

That’s right, there’s a whole heapload of awesome coming at you from Boston this November.

RIAUnleashed is the last East Coast Adobe developer conference of the year. It will also be one of the first post Adobe MAX events. Meaning it will be a great opportunity to question and discuss all of the new things Adobe’s unveiling this year.

To help with that, notable Adobeans will be on hand, including: Ryan Stewart, Adam Lehman, James Ward, Greg Wilson and Christophe Coenraets.

Also Community leaders from the Flex, Flash and ColdFusion community will be on hand: Jesse Warden, Jesse Freeman, Raymond Camden, Mark Esher, Simon Free, Charles Schulze, Brian Diette, Jeff Tapper and Chuck Freedman plus more.

So come to Boston this November 11 and 12 and get in on the awesome.



ColdFusion Cookbook Contest

Ed Sullivan announced on the ADC blog that they are starting a new contest around the ColdFusion Cookbook. Every cookbook entry will get you a piece of Adobe schwag. So check out the contest, get the rules, and start writing some recipes.

Now you may be thinking to yourself, “Self, I would like to do that, but I have no idea how to participate. I have no recipes.”

First off, stop speaking to yourself in the third person, that’s creepy.

Second, I have some suggested ideas. You are not required to use them, you may use them, or you may use them to inspire one of your own:

  • How can you detect if a browser supports HTML 5 semantic structures like header, footer, and nav?
  • How do you build a RESTful service in ColdFusion using GET, POST, PUT, and DELETE HTTP verbs.
  • How can you call ColdFusion services from PHP?
  • How can you call ColdFusion services from Ruby?
  • How can you call ColdFusion services from the language of your choice?
  • How and why do you run ColdFusion from the console?

So go, get going, write some recipes.

ColdFusion from a Console

I’ve been working on a little proof of concept idea and wanted to see
if other people liked it and perhaps wanted to see it go further.

I’ve heard a couple of calls for command line ColdFusion. I wanted to see if it could be done. My first experiment was trying to use AIR new native processes to make a command line client for ColdFusion. It didn’t pan out. But the api I used to make it was easily adaptable. I combined it with a socket listener event gateway to make a ColdFusion telnet server.

The video shows it in action.

CFConsole from Terry Ryan on Vimeo.

Like it? Want more. Let me know.

In the meantime the project is available on RIAForge.com and github, please feel free to fork it and play with it.