I searched and found CFSearching

I've been working on The Health Challenge over the last month and ran into a usability issue using my CFChart implementation. Apparently with enough data points, the labels would all jam into each other and become an unreadable mess. Have a look...

CFChart is actually a wrapped up implementation of WebCharts 3D, a full featured charting engine. ColdFusion ships with a Chart Stylizer that adds significant functionality to the generated charts. I've been using this Chart Stylizer for years now. However, I couldn't find an option to help me out with this X Axis Traffic Jam. Through a bit of google magic, I ended up on a blog I'd not seen before called CFSearching which addressed this issue for the Y Axis and after digging around the stylizer, I found a similar option for the X Axis.

view plain print about
1<xAxis>
2 <groupStyle skipLabels="{SkipLabels}"/>
3</xAxis>
Problem solved! See:

CFSearching has a number of very nicely written articles about CFChart, iText, Coldfusion and other important topics. For example, have you ever wanted to Create a Gantt Chart with CFChart or what about Calling ColdFusion functions from PDFPageEvents in iText? There are some very good articles up at CFSearching, go take a look!

Google Webmaster Tools: Step by Step at NYCFUG

I am on-site this week in NYC. As luck would have it, the NYCFUG met with Michael Dinowitz (a.k.a. Papa Dinnie) presenting on the Google Webmaster Tools.

The majority of my IT experience has been in building enterprise class applications. I do not build websites (DO YOU HEAR THAT, FAMILY?), though I occasionally take on a client that needs help raising visibility for a product or a service so I was excited to hear Michael present on the Google webmaster tools.

If you have never been to an NYCFUG meeting, you should go. Skip the Empire State Building, forget a Broadway show, just go to CFUG. It was probably the most active CFUG meeting I had been to. There were lots of questions from the audience and some heated debates over some of the answers. I laughed, I cried and I thought there might be a stabbing at one point (Editors Note: Remove Gratuitious Exaggeration before publishing). It was a really good time.

So on to the talk. Michael spent an hour going over the Google Webmaster Tools and various strategies to arrange the facets of a website to improve ranking by Google. For example, See those fancy links to content inside the filezilla website?

Searching for Filezilla on Google

Have you ever wondered where those come from? Michael covers it in his presentation. He also covers content optimization, site maps, external link management, proper redirects and other important topics.

After listening to Michael talk about this for an hour, I feel much more informed about the tools, tips and tricks I can use to help search engines interpret my site better. I also have a much greater awareness of the tools available that help manage websites. A big thanks to Michael for giving this excellent presentation.

Michael will make his presentation materials available soon. Check the NYCFUG site for more information.

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

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!

Update: In some cases, and for reasons unknown, Filezilla just won't work. I have found that coreFTP is a nice FTP program that is free Windows software which includes the client FTP features you need. Features like SFTP (SSH), SSL, TLS, IDN, browser integration, site to site transfers, FTP transfer resume, drag and drop support, file viewing & editing, firewall support, custom commands, FTP URL parsing, command line transfers, filters, and much, much more!

If Filezilla still does not work for you after you follow the steps above, then install coreFTP and it will work just fine.

Presenting on Moving from Procedural Architecture to Object Orientation at TACFUG on March 25th

If you would like to know how to migrate an existing procedurally programmed application into an object oriented one, grab a chair and sit for a while.

We'll discuss some sensible guidelines designed to help you make incremental changes towards OO nirvana.

We'll also look at lots of code samples, we all like code samples, right?

Note: New Meeting Location

The meeting begins at 6:30 and will be held at PStrat in a new Location:

10 Laboratory Drive, Building 2
Research Triangle Park, NC 27709

Directions: From I-40, take the Davis Drive exit (280).
Turn right at the end of the ramp.
Turn right onto Laboratory Drive (if you reach Cornwallis Road, you've gone too far).
Turn right at 10 Laboratory Drive.
Veer left and drive around back to get to the main entrance for the building on the left (Building 2).
The meeting space is on the second floor.

View Larger Map

See you there!

Flex 3 Release World Tour Hit Raleigh/Durham

Last night, Ben Forta came to Cary, North Carolina to showcase the soon to be released Flex 3 and AIR products from Adobe.

Flex Builder 3 is a compelling upgrade for the product. The IDE offering has actually gone down in price even while adding nice new features like Improved Designer/Developer workflow, a memory profiler, advanced components, and support for the AIR platform.

For more complete information on Flex 3 Features see the labs.adobe.com page.

Also soon to be released is the long awaited Abode Integrated Runtime product. AIR, as it is known for short, offers a cross-operating system runtime that allows developers to leverage their existing web development skills (Flash, Flex, HTML, JavaScript, Ajax) to build and deploy rich Internet applications (RIAs) to the desktop.

This means your application can now access the local file system, accept drag and drop assets from the desktop, run outside of the browser and actually run completely offline. The product even contains the SQLite database to help handle offline data.

Many people have not fully grasped one of the most interesting features of AIR. You can write a desktop application using the AIR platform, HTML and Javascript. This will level the playing field by allowing existing web developers and designers to use their current skilling to create functionally relevant desktop applications.

Honors of the night go to the Anthropologie demonstration. The premise of the application is to show how the Anthropologie catalog of apparel can be displayed in an offline mode. The user can search for an article of clothing based on standardized parameters. The user can also drag an image onto the application and use a color dropper to select a color and use that color as search criteria using very intuitive workflow. When Ben actually drug a picture onto the application, selected a color and the search results automatically filtered, the collective breath left the room. See for yourself at this video of the Anthropologie Catalog AIR application.

 

Are you prepared for the upcoming RIA arms race? It promises to be interesting!

Note: I've been keeping up to date with the blog chatter on the meeting. A local TV station even interviewed Ben Forta! See my article on ria.dzone.com for more content./p>

5084 Views Print Print Comments (1) Flex, AIR

So you wanna build a Flex application - Part 3 - The Datasets

To date, in our series on Surfing Stats, we have covered the intent, directory structure and the main application file. (download the code using the download link at the bottom of the the Intro to Surfing Stats post). Now we will look at the datasets.

[More]

Great use of CFGrid and CF8 at NYCVisit.com

One of my good friends, Rama Marupilla, showed me a recent project where he used CFGrid to make a searchable, filterable restaurant locater. Have a look at http://www.nycvisit.com/restaurantweek/.

This page is a great illustration about how the power of ColdFusion 8, in the hands of a great developer, can enable powerful and relevant functionality.

Great Job Rama, thanks for sharing!

Where is the Debugger or Profiler running? Flex Builder Debugger

Where is the Debugger or Profiler running? Why, localhost, I presume.....

Recently I installed Flex Builder 3 on a new machine and experienced an error when running/debugging Flex applications. What would happen is:

  • I run a Flex application
  • A popup loads asking "Where is the debugger or profiler running?"
  • I select localhost
  • The popup briefly disappears
  • The popup returns asking "Where is the debugger or profiler running?"

Another message that showed up is "A connection to the debugger or profiler could not be established by Adobe Flash Player 9"

Clicking the cancel button removed the popup and continued running the Flex application. The debugger was not working properly.

After some searching and some trial and error, I found the Flex Debugger runs on port 3434. Unblocking this port in the firewall allowed the debugger to connect on localhost.

Surprisingly, this wasn't documented very well. I hope this helps someone else. Programming in Flex without the debugger makes Homer something something...

Update The popup has come back! Oddly enough, the debugger runs now. I am very glad for that. However running any compiled Flex/AIR code brings up this silly "Where is the debugger?" popup. If anyone has an idea how to supress this, please let me know.

Update: This has been solved. Details are located here. Thank You to Shannon Hicks for giving me the solution.

14330 Views Print Print Comments (7) Flex, AIR

Do you live near Research Triangle Park?

I've created a group on ColdFusionCommunity.org just for you! Join ColdFusion in RTP today and get to know your fellow developers.