Damon Cooper's BLOG
Viewing By Month : August 2005 / Main
August 30, 2005
JRun 4 Updater 6 Released
JRun 4 Updater 6 has been released. If you're running CF on the full version of JRun 4, check it out.

Besides the usual list of customer-driven bug fixes, there's lots of other added goodness, including updated JDBC drivers, web server connectors, Apache Multi-Processing Modules (MPMs) support on Unix, performance enhancements and improvements, JRun Web Server (JWS) - JWS keep-alive functionality, a new log level for HTTP requests, enhanced OS support (HP-UX 11 and 11i), Mac OSX 10.4, Solaris 10, AIX 5.3, RedHat 8, AS 2.1, AS 3.0, AS 4.0 and SuSE 8.

JRun 4 Updater 6 also adds support for JDK 1.5 (note that CF is not supported on JDK 1.5 yet, however).

The ColdFusion team has "blessed" JRun 4 Updater 6, so it's "good to go" for CF customers running CF on the full version of JRun 4.

ColdFusion customers can also rest assured that any security and other critical fixes included in JRun 4 Updater 6 have been brought back into the forthcoming CF "Merrimack" release (all install configurations), although Merrimack will be shipping with JRun 4 Updater 5+ fixes, since the timing of the two releases didn't permit us to include JRun 4 Updater 6 this time around in the installer kits.

Some useful links:

JRun 4 Updater 6 Download page
JRun 4 Updater 6 Release Notes

Damon

August 26, 2005
Google-Talk and the ColdFusion MX 7 XMPP IM Gateway

Since Google's new Instant Messaging network and IM client, "Google-Talk" is based on the Jabber/XMPP IM protocol standard, as has been noted by some already in the ColdFusion community, you can indeed use the Jabber/XMPP IM Gateway included with Macromedia ColdFusion MX 7 to connect to the Google-Talk IM Service network. And as Google says on their Google-Talk Developer page, Google wants to "...encourage the developer community to create new and innovative applications that leverage our service."

Google-Talk

The Jabber/XMPP protocol standard has been reviewed and formalized by the IETF and W3C and that's one of the reasons we picked the XMPP IM protocol to include with ColdFusion MX 7.

One of the things that's particularly interesting about Google-Talk using an IM standard protocol is that for the first time, a major IM network is potentially accessible to application developers (depending on Google's final user agreement with the Google-Talk network of course).

All kinds of interesting applications can be created using IM "bots" that can represent Enterprise entities such as ERP systems, etc, and the fact that a ColdFusion CFC can "know" when you're online (presence) can really make things interesting. An application can automatically IM the support rep that's currently online, for example, increasing the chances of a faster response. A PO system "bot" might send an IM to a manager or VP asking for approval for a PO, since it saw he/she was currently online, or escalate to someone who IS online if a PO request is getting stale needs immediate attention.

Another super-cool idea is to use the "status" of an online entity/buddy/bot to communicate real-time data that's constantly changing. In the case of this type of data, you only care about the latest possible value (stock price, for example). Using the IM Gateway Helper "setStattus()" function allows you to set a custom status message for a bot that buddies can see. This can be a great way to keep buddies (or subscribers to the "bot") instantly up to date. They'll see the highly visible message or data just by glancing at the "bot" in their buddy list. This saves potentially oodles of email update status messages, where all you'd care about is the last one anyway.

Or how about two applications "talking" to each other over XMPP? Perhaps neither application can connect to each other directly (firewall's, etc), but they may both be able to "see" and connect to a remote Jabber/XMPP server. They can then communicate via that server over XMPP. Think web services-over-XMPP, where no direct connection is necessary. Kinda like the old days when satellites were used to enable ground stations who couldn't directly talk to each other to communicate.

Or how about using the all-Flash-client-based XIFF XMPP ActionScript library and building a super-light, no-client (just Flash and a browser required) way for your web site users to get help with your website, access your Knowledge Base articles, or find the next available customer service rep? The Flash client would talk to a Jabber/XMPP server that would talk to your ColdFusion MX 7 XMPP Gateway Listener CFC and your ColdFusion app could then broker the conversation between web site clients and back-end customer service reps, or collect automated information (customer account number, etc) before making the connection to the right department to help the customer via chat.

There are lots of very cool, out-of-the-box-thinking type use cases for IM-enabling applications with two-way interactive, session-aware capabilities if you think about it. And the ColdFusion MX 7 Jabber/XMPP and Lotus/Sametime IM Gateways are definitely the easiest, fastest way to build these solutions...just minutes with a very little code!

Some links that might be useful as you connect your applications to IM via XMPP and possibly Google-Talk's IM network:

Macromedia ColdFusion MX 7 Home Page

Google-Talk IM interactive UI Client
Google-Talk IM Info for Application Developers

CFMX7 Documentation on Event Gateways
CFMX7 Documentation on Using the XMPP and Sametime IM Gateways

Matt Woodward's Dev center Article about using IM to talk to CFMX7

Boyzoid's Blog Entry on getting CFMX7 talking to Google-Talk IM
Jarad's BLOG Entries on using CFMX7 with Google-Talk IM

CFMX7 Default XMPP Configuration File defining Listener CFC method names, etc:
{cfusion}\gateway\config\XMPP.cfg

Damon

August 20, 2005
AccuWater Irrigation Controller
Being involved with product development, I've come to appreciate truly innovative products, and here's one I've run across recently:

AccuWater Irrigation Control System

I'm hoping to cut my water consumption in half with this controller and increase the health and look of my lawn and landscape vegetation.

If you have property and an irrigation system, and would like to minimize your use of water, check it out.

The basic premise is that if you have a sprinkler system on a timer, and your lawn is in decent shape, you're almost certainly wasting VAST amounts of water. The idea is that using what we know about how plants use water (evapotranspiration - ET), the known variables about each irrigation zone on your property (soil type, incline, vegetation type, irrigation system head types, etc), PLUS the fact that we usually know the current and forecasted weather conditions...why not use this data together to water "smart", providing just enough water to supplement natural precipitation, rather than blindly allowing a timer to water regardless of whether water is needed or not?

Smart.

The AccuWater controllers run the TINI-OS and Java platform from Maxim/Dallas Semiconductor, and can connect to a full locally installed weather station with all its instruments (optional - I have this installed), PLUS it downloads weather forecast data from the internet. So it not only knows when and how much it rains, but it also knows when it's forecast to rain, and takes all this into account to optimize watering.

If you're interested, take a live, real-time look at the built-in website on my AccuWater controller running in my garage right now. You can see the weather and other stats real time at my house. You can also see which of my zones it watered recently in history, etc.

Each night, the AccuWater Data Center calculates the schedule for each zone (if required), and the controller downloads it and executes it, contingent on local conditions (ie if it starts to rain after downloading that night's schedule, the amount of watering is adjusted downward, or eliminated, depending on the amount of local rainfall).

You operate your entire system over the internet via AccuWater's web site, and there's even a J2ME-based cell phone applet that you can use to control the system, water zones, check status, etc, so you can walk around the yard and fire up zones, or control things remotely anywhere with your phone.

Pretty slick, and makes good environmental and fiscal sense.

I got mine installed by a local pro, Dwight Marchant, (a real irrigation guru) of Irri-Tek Inc. here in Massachusetts. Dwight's an awesome guy, they did a great job, and I highly recommend both the AccuWater Irrigation Control system and Irri-tek Inc.

Damon

August 5, 2005
Another Day Another Milestone
This team just keeps on firing on all cylinders. I'm always amazed at what this group can accomplish, and today's another one of those days where, as a manager, you have to pause for a moment and go, "Wow...this crew totally rocks."

It's a great feeling to be able to do so much with the product and see the dedication and passion of the whole team show itself at all kinds of strange hours to ensure that every possible test and every conceivable configuration and contingency is carefully accounted for and examined from all angles. One thing is for sure: innovation, customer advocacy, and quality focus are alive and well on the CF Team at Macromedia.

Today was a proud moment...and just a taste I know of many more to come.

Damon