Wednesday, September 28, 2005

ColdFusion MX 7 updater is available

We've been working hard on Merrimack, the updater for ColdFusion MX 7, for a while and it is now available for download from Macromedia.com.

The updater has much goodness in it, including lots of bug fixes, an update to Axis 1.2.1 for web services, an updated Verity (patch level 22) and a full Mac OS X installer. Read the FAQ tech note and download the full kit from the CF downloads page. You can also find out detailed info from the release notes.

Also read "Welcome to Merrimack: An Even Better ColdFusion MX 7", a devnet article written by Damon Cooper about Merrimack.

It is free for all ColdFusion MX 7 customers, and really adds some good polish to what has proven to be an enourmously successful release.

Monday, September 26, 2005

WSJ.com - Text Messages Sent by Cellphone Finally Catch On in U.S.

Read the Wall Street Journal article here.

One of my pet peeves is when people say "The US is so behind in cell phone technology". This is garbage. One of the things they point to is our slow to non-existent embracing of SMS text messages. Now don't get me wrong, I think the SMS Gateway in ColdFusion MX 7 is one sweet feature. But text messaging has always left me cold (ha-ha). Why work 10 minutes on sending a text message when you can just make the call?

Here is a quote from the article that echo's my argument:


Text messaging usage is much higher in Europe and Asia largely because most cell phone users there pay per call or per message. Since text messages generally cost less than voice calls, customers have an economic incentive to go that route. In Britain, depending on calling plans, customers of wireless operator Orange may pay as much as 63 cents a minute to call customers of other U.K. mobile networks, while a text message costs only 18 cents, according to prices listed on Orange's Web site.

By contrast, there's little economic incentive to text-message in the U.S. because most cell phone users are on calling plans that include large bundles of voice minutes, plus unlimited off-peak and weekend minutes. Often there's no cost to make an additional phone call but for most it costs an additional charge to send a text message. Wireless company executives acknowledge that it's not easy to persuade ordinary Americans to add a new category to their cell phone bills.


So the cell phone companies are slowly convincing adults to add $10 to their bill for the privilege of 'catching up' to the Europeans and Japanese. It is worth noting that Sprint has only recently had useful SMS support in their phones. People (and you know who you are) criticized them for this. But wait, you could send Email to and from a Sprint PCS phone from day one. Why doesn't everyone do that? That way I can forward mail to/from my desktop or phone, similar to what the IM protocols also allow. They had the real thing, why support the 160 character limited thing? You got me.

It also pretty unfair to compare the wireless technologies in the US with other (physically smaller) places. We have wires already. Wires work better in almost all cases. But they are expensive. Of course countries without wires already will focus on wireless infrastructure. But does that make us "behind". I don't think so.

Ok, back to more ColdFusion related things...

Wednesday, September 21, 2005

Upgrading ColdFusion MX 7 to Axis 1.3

The Axis team is poised to create a 1.3 release of Axis shortly. Before we do that, I run the ColdFusion regression tests on the bits to make sure our customers can upgrade without problems.

Well, there is a problem, but it is due to some changes in Axis and wsdl4j, a jar file that Axis uses to process WSDL. Specifically the QName class used to live in wsdl4j.jar and now it lives in jaxrpc.jar. So this isn't a big deal except that the class changed recently to support prefixes. You don't have to care about what that means, but just know that Axis 1.3 calls a prefix API which if the wrong QName class is already loaded you get this error:

500 javax.xml.namespace.QName.getPrefix()Ljava/lang/String;
javax.xml.namespace.QName.getPrefix()Ljava/lang/String

The problem is that we are picking up the wsdl4j classes from runtime/lib/webservices.jar, the JRun supplied copy of Axis and all of its jar files (including wsdl4j.jar). This hasn't been a problem up until now, because the class moved and changed.

Here is how you fix this. It gets pretty messy so make sure you back up cfmx_bootstrap.jar.

  1. Shut down ColdFusion.
  2. Find the file wwwroot/WEB-INF/lib/cfmx_bootstrap.jar, Make a backup copy of it.
  3. Open the file with WinZip
  4. Edit the file jrun.properties. On the last line add the following package names to the end of the "exceptions line: "javax.xml.namespace.,javax.wsdl." Don't forget the comma and the trailing dots. The line will look like this.

    exceptions=javax.xml.messaging.,javax.xml.namespace.,javax.xml.rpc.,javax.xml.soap.,javax.wsdl.

  5. Save this change back in to cfmx_bootstrap.jar
  6. Start ColdFusion

The Gory Details

What this is doing is configuring CF to load the javax.xml.namespace and javax.wsdl packages using the CF classloader, which looks in cfusion/lib first, which is where we want to get the wsdl4j classes from.

Why does it get these classes from werbservices.jar? If you look at the first setting in jrun.properties, you will see that all the classes starting with "javax." are loaded by the Application Servers classloader. Hence JRun goes and loads its QName class (which is in the javax.xml.namespace package).

Whew.

Monday, September 19, 2005

ColdFusion MX 7: Replacement file for XMPP Gateway

ColdFusion MX 7 Event Gateways allow you to communicate with almost anything that you can hook Java up to. One of the best uses for it is with Instant Messaging systems. Now that Google is running a (soon to be?) major public IM network that is based on the XMPP standard (AOL, Yahoo and MSN are all proprietary), you can use the XMPP gateway included in CFMX 7 to connect your CFML code up.

First you should get the update to our XMPP protocol implementation from this
Macromedia - ColdFusion TechNote : ColdFusion MX 7: Replacement file for XMPP Gateway.

Then you should go on over to Ben Forta's blog and read this 3 part posting. Part 2 is here and part 3 is here.

What if you want to hook up to Yahoo, AIM or MSN? You can get the right software to do that from Zion Software, which sells a JBuddy-CF Plugin for ColdFusion MX 7.

ColdFusion : Vendor Support Survey

Help us in our research for Scorpio by filling out a quick survey about what platforms and application servers you use ColdFusion with.

Thursday, September 15, 2005

From PVRBlog: TiVo 7.2 OS adds content protection, blocks transfers, and auto-deletes some shows

I know the description of my blog mentions Tivo, but I really don't blog much about it. But this story is a bit scary. Apparently content can now be marked by various providers (producers, TV stations, etc) with a fairly intrusive copy protection.

Here is a follow up with more info and lots of good links.

I love my TiVo, but every since I went HD, I almost never use it as my first preference for recording shows. Everything new and lots of old stuff is now in HD, and since I purchased my Samsung 56" DLP TV the picture quality on Tivo'd SDTV is just not good enough when an HD signal is available.

I am instead using the Comcast/Motorola DVR built in to my cable box, which records exactly what comes across the cable (no loss). The interface is lame, but functional. I will be watching the HD capable Tivos that are expected to be released next year very closely. If TiVo wants to maintain me as a customer/fan, they are going to have to move faster toward HDTV.

Saturday, September 10, 2005

RSS, CFHTTP, UTF-8, and CFMX

This interesting problem with CFHTTP and RSS feeds encountered by Roger Benningfield a while back is going to be fixed in the Merrimack updater for ColdFusion 7.

He was having a subtle issue with CFHTTP and RSS feeds, where the XML coming back was being treated as a string sometimes and other times as binary data. CFHTTP examines to content-type to decide how to treat the result. If it's text/*, message/* or application/octet-stream, it is treated like a string. Otherwise it is treat as binary data.

cfhttp has a GetAsBinary attribute, which in CFMX7 can be yes, no, or "auto". In the updater I added a new value, "never", which will always treat the content as text. In addition I added the application/*+xml types as text as well.

I don't like the heard coded list much, but since we have the "never" mode, this puts the control back in the hands of the CFML developer, which is where we want it.

Thursday, September 08, 2005

I want of these..

Damon Cooper, my boss, and Director of Engineering for ColdFusion recently installed a new Sprinkler controller at his house. It is fully net enabled, and is controlled via the Web!

I just recently got a new house, which needed a new lawn, so I put in a sprinkler system. While I haven't received a water bill yet, I am getting hives just thinking about how much water is wasted by my twice a day (new lawn remember) watering schedule.

If it works out for Damon, I suspect it wont be long before I spring for this system too.

Interesting rant on MSNBC

Warning: Political posting ahead.
I find I am agreeing with almost all of the points raised here.

Image! (take 2)


I am going to try again to add an image to my blog.

This is my car, right after I bought it. It has a few more miles and scratches on it these days.

Hey, worked pretty slick.

Tuesday, September 06, 2005

Feedburner problems - fixed

I recently noticed that my feed address via feedburner was not getting updated with new postings. For some reason I had the wrong XML file configured to feedburner. I fixed that up and so those of you reading this via feedburner should now see postings again. Not that I am so very proactive in adding new entries. :-)

SOAP over XMPP

This is a fun specification: http://www.jabber.org/jeps/jep-0072.html

Most people think web services are all about HTTP, but it has always been the case that there are people who want to send their SOAP via other transports.