Mach-II 1.5 Application Skeleton

I've put together an application skeleton for Mach-II 1.5 applications. This application skeleton is a nice way to get a Mach-II application up and running quickly. Neil Middleton, Peter Farrell, Matt Williams and Erik Meier each contributed in some way and Neil Middleton was kind enough to create an ANT task to automate the process

The code has been contributed to the Mach-II group and should be available on the official site soon.

About this skeleton:

  • Shows best practice for integrating with ColdSpring using the ColdSpringProperty.xml
  • Will detect if you have ColdSpring installed correctly. If you do not, it will nag you.
  • Shows how to use the subroutine feature of Mach-II 1.5 (thanks for the suggestion Neil)
  • Shows a sample Listener and xml configuration
  • Shows a sample Filter and xml configuration
  • Shows a sample Plugin and xml configuration
  • Has an ANT task for rapidly creating new applications (thanks again Neil)
  • Points to correct Mach-II 1.5 DTD references

To Use:

  1. Unzip and put in your web root.
  2. Select newapp.xml and Run As > ANT Build.
  3. Give the name of your new application in the first pop-up.
  4. Enter the path to your webroot in the next pop-up

and Presto! The new application will be created in the root directory given in step 4.

Download Instructions

The Mach-II Application Skeleton is located in the Features Pod on the right.

CFObjective() Refactoring in ColdFusion from Procedural to OO Presentation

I presented twice at the CFObjective() conference on Refactoring in ColdFusion from Procedural to OO. I love giving this presentation because it is the culmination of many many hours of practice and research expended when I made the transition from procedural programmer to OO programmer.

The basic premise of the presentation is how to take a pragmatic approach to refactoring. Rather than feeling the need to completely rewrite your application to achieve a good OO architecture ( Managers never like this idea), I offer a reasonable, incremental approach on moving pieces and part of your application at a time.

In the presentation, there are a handful of slides with guidelines and high-level talking points about migrating to OO and move right into the code samples. The code samples show common procedural structures and then a comparible Object Oriented structure. This compare/contract method helps programmers understand how to move toward common software patterns in their applications.

If you missed the presentation, and were not at one of the user group presentations I gave last month, you can still get in on the action by showing up at CFUnited. I've also included the slides and code samples in a zip. You can download it from the Features Pod on the right hand side of the page, or better yet, from the Flagrantly Cool SlideSix.com

ColdFusion 7 error 500 Null with Custom Tags

I spent a couple hours diagnosing a 500 Null error. There was little information to go on and 500 Null errors are hard to figure out in general. Let's hope someone is helped by this.

The error resulted on a Linux Machine using CF7.02 with no updaters. The code in question was a set of nested custom tags all linked together using cfassociate. I dug through the code looking for any such potential null reference evaluations and chopped out large blocks of code at a time to try get the error to go away. If I took out enough CFML code, the error went away. It really didn't matter at all WHICH code I took out, just that I took out some mysterious amount.

The total lines of code in the custom tagset was less than 500 with no loops or anything that would jack up the lines of code when evaluated so this REALLY threw me for a loop.

Eventually, I updated to the latest updator for CF7 and the error went away. Strangely, there was no mention in the list of updater fixes, but trust me, the error went away. If you are having a similar problem, use ColdFusion MX 7.02 Cumulative Hot Fix 3 or later.

If you similar stuff going on in your applications, there is a good chance the ColdFusion MX 7.02 Cumulative Hot Fix 3 will sort it out for you.

Happy Skip Krenek Day

This probably isn't news to most of my readers, but in case you missed it, April 25th is Skip Krenek Day. While a special day isn't enough to pay tribute to such an excellent person, It is important to tip the virtual hat to Skip for all he has contributed to our society. I appreciate the many who have worked hard behind the scenes to make this particular Skip Krenek Day special.

Here's to Skip and to his many years of continual success!

Fix for Filezilla Failing to Retrieve Directory Listing

I use Filezilla FTP client to manage files on many servers. I had a specific Filezilla client that refused to retrieve a directory listing. Other computers could connect to the same server just fine. Thusly I knew it was a client configuration problem.

I ended up with messages like this:

Response:	200 PORT command successful. Consider using PASV.
Command:	LIST
Error:	Connection timed out
Error:	Failed to retrieve directory listing

I ran the Filezilla configuration wizard to diagnose the problem. The configuration wizard utility ran for a while reporting success until the very end. After timing out, I received the following messages:
Response: 200 PORT command successful
LIST
Response: 150 opening data connection
Response: 503 Failure of data connection.
Server sent invalid reply.
Connection closed

Searching the Internet led to not so helpful posts such as "Please read the Network Configuration guide.". After analyzing the situation, it turns out the solution isn't so obvious. My Client had the default setting of Connection -> FTP -> Active Mode: Get External IP Address From This URL. Which pointed to http://ip.filezilla-project.org/ip.php . This is the source of the problem. If you go to that URL, you will probably get a result of 127.0.0.1. If the Filezilla client needs the external address, and is given 127.0.0.1, then there will be problems indeed!

If you have a similar problem with Filezilla, and the problem persists even when the Windows Firewall is disabled, here is what you need to do:

  • Open Filezilla, go to Edit -> Settings
  • Click on Connection -> FTP: Choose Active
  • Click on Connection -> FTP -> Active Mode: Select "Ask your operating system for the external IP address"
  • Click on Connection -> FTP -> Passive Mode: Choose Fall Back to Active Mode
  • Press OK.

Try connecting to your FTP site once again. Works!

Super Sexy Flex App for Managing Expenses

Michal Glowacki, I wrote a review of a preso on Cairngorm he did at NYFlex, contacted me to let me know his group released a new Flex based application that manages expenses. This has got to be one of the hottest looking Flex applications I have seen. Have a look at http://www.iexpenseonline.com/. Using this free application, you can manage your budget, track expenses, check out your personal financial position and also work towards self-established goals.

The application is really easy to use and takes care to provide good feedback to the user. The data is visualized using some sweet Flex charts and this application is a great tool to help you stay on the financial straight and narrow.

Michal told me this was a cairngorm application, no surprise since he is an expert Cairngorm developer. I tried to view source on the app but alas, no luck. (Michal, if you are kind enough to show me how you make this application work so well, I would be much obliged.)

So have a look at http://www.iexpenseonline.com/. Let me know what you think.

TransferORM gets closer to 1.0 release

The word on the street is Transfer 1.0 will be in release candidate status at CF.Objective 2008. I've actually overheard that the Transfer code in SVN ( http://svn.riaforge.org/transfer ) is complete and ready for the 1.0 release, all that remains is documentation. Mark Mandel has been quite specific that the 1.0 release will be properly documented. It appears as if he has been quite busy. I just stumbled upon the new Transfer documentation and MAN is it looking sweet!

[More]

Kudos to the TSA

I'm a pretty seasoned traveler and have been through many security checkpoints. I am also deathly afraid of the TSA. I have a recurring nightmare the TSA agents will find a 3.5 oz container of liquid in my bags and send me to Guantanamo Bay Prison. Every time I pack, I empty all items out of my backpack and make sure all pointy objects are left at home where they belong.

This last trip was no different. Before I left, I checked all nooks and crannies in my backpack. Finding nothing, I headed to the airport with bags in tow. After removing my belt, shoes, keys, 2 laptops and other assorted bits, I walk through the metal detector. No Problem.

As I wait for my baggage to clear the X-Ray, my nightmares become real. "Sir, you can not carry this Knife on board!" said the TSA agent...

He held my Gerber Multi-Tool in his hand, which apart from a bottle opener and needle nosed pliers, also has a 2" knife blade. I must have hooked the sheath to the outside of my backpack at some point and didn't even notice. "Oooohhhhhhffffff", I said, having nothing more intelligent to say before the imminent firing squad. I looked at the TSA agent knowing I was in big trouble.

Fortunately, this must have happened before. The friendly TSA agent calmly gave me my options and we chose to walk to the unsecured area of the airport to the cleverly located mailing facility used to mail prohibited items back home. $9.99 later, I was Gerber tool free and back in the security line. I was at my gate with plenty of time to spare.

This blog post is dedicated to those men and women who keep us safe in the friendly skies, and who also are patient with the (occasionally forgetful) flying public.

Haiku For Today

Blood Pain Agony,
At Last Mountain Bike Ride Done,
Am Glad For Helmet

This was my first time on the bike in 3 years. Man, I know I can do better next time.

I Hate You Adobe Updater

I usually like Adobe Updater. It runs out of my way, has options to run in the background and generally is a polite little updater. Today, the Adobe Updater politely let me know it needed my attention. Apparently there were 120MB of updates needed to keep my Creative Suite in sync.

120MB is no joke. That is 1/8 of a GB. What I find curiously annoying is, Adobe updater downloaded updates for programs I don't even have installed. Lots of programs I don't have installed. Matter of fact, I only have Fireworks installed because thats really the only Adobe Creative Suite I have any competence in. So why Adobe Updater doesn't check to see which programs are installed is beyond my comprehension.

Adobe, when you read this, please consider only downloading updates for installed products.

Seriously!

More Entries

BlogCFC was created by Raymond Camden. This blog is running version 5.9.001. Contact Blog Owner