Max-bound
I'm on my way to Max. I'll be staying at the Palmer House Hilton.
If you run into me be sure to try and scam a cigar out of me.
I'm on my way to Max. I'll be staying at the Palmer House Hilton.
If you run into me be sure to try and scam a cigar out of me.
I think I just discovered my favorite block of code ever. As such, this is a post so that I remember how to do this when I need to do it again, your may not be so impressed.
I was trying to figure out a terse, reusable way of making sure that my application root was mapped to my application name, and that my customtags folder be mapped as a custom tag folder. It had to work with inherited sub application.cfc's and deal with the fact that my application might not be in the root. I came up with this:
<cfset this.name = "APPNAME" />
<cfset this.mappings["/#this.name#"] = getDirectoryFromPath(getCurrentTemplatePath()) />
<cfset This.customtagpaths = "#getDirectoryFromPath(getCurrentTemplatePath())#\customtags\"/>
I responded to an open call for panelists for one of Brian Meloche's Birds of a Feather Sessions, titled "Fixing ColdFusion Perceptions and Reputation." I'm in.
I looking forward to it, especially since I disagree with a lot of the solutions I hear to solving the problem. A quick preview or my opinions:
My thoughts aren't fully fleshed out, but I think it has to do with the fact that ColdFusion's niche isn't clearly defined. If you're a Microsoft shop, you use a .Net solution. If you're a startup you use Ruby or PHP. If you see yourself as providing enterprise solutions you use full blown Java. Caricatures to be sure, but I think close to the mark.
I think if you asked most ColdFusion programmers why they use it, they would say, "Because it makes my job easy." But people who like things to be easy, is a sort of hard niche to get a hold of, I mean who doesn't want that.
Anyway, these are just ramblings. Feel free to argue with me either here, or next week in Chicago.
I've been noodling here and there and have finally put the finishing touches on Squidhead 2.0.
Before I started rewriting, I spent some time developing more applications with Squidhead. I figured out a couple areas of inefficiency and tried to fix them when I could. Creating configuration files took longer than it should and was a bit confusing. I found myself writing Ant scripts for all of my applications. I kept forgetting to test my applications.
Further when I was maintaining the actual Squidhead codebase, some things were frustrating. Maintaining a separate code base for ColdFusion 8 and ColdFusion 7 was a pain in the ass. Maintaining a simple version and a business version was a pain. Adding new features required a series of cascading tweaks because it was poorly architected.
So here are the solutions to all of those issues and a few more for good measure.
New features:
* CF 8 features can be turned off if application will not be running on a CF8 server.
Deprecated Features:
Removed Features:
Requirements:
Notes:
Old versions of Squidhead still available at http://www.numtopia.com/squidhead.
The new version is available at Riaforge.
I'm not sure if anyone else has done this but, I was fooling around with trying to get <cfimage> to create a Web 2.0 type logo. You know floating text, with a reflection. I figured it someone else has done it. But I couldn't find exactly what I was looking for.
So I did it myself.
I'd like to highlight a Max 2007 session: A Virtual Trading Floor: Bringing Wall Street to the Classroom. It's being given by a few of my co-workers here at Wharton (Charles Rejonis, Alec Lamon, and Erin Wyher). I'm not sure about the exact topics that they will discuss, but it's about a pretty hardcore application that simulates a trading floor. Consequently it deals in multiple transactions per second on large amounts of unique user data. This application was originally a desktop application written in Visual Basic and running in a controlled lab. After a few unsuccessful attempts (because the technology wasn't there yet,) the Learning Lab team managed to replace the old application with a RIA version using ColdFusion, Flex and Flex Data Services (or LiveCycle Data Services). They ran into a lot of challenges that truly tested the limits of all of the underlying technology.
I highly suggest this session to you all. It's a great story that responds to the argument: there are some things that RIA's can't do. Because here is at least one seemingly impossible thing they can indeed do.
It was up in the air for a bit, but I'm coming to Max 2007. I had a conflict that I'm also bummed about missing, but a few things came up that made it hard to stay away.
I'm staying at the Palmer House. If anybody is up for meeting up and having some scotch and cigars let me know. I should have a good supply with me.
My tentative schedule is below:
| Time | Session |
|---|---|
| Sun 12:45 PM | Flight USAIR 1632 |
| Sun 5:00 PM | Welcome Reception |
| Mon 8:00 AM | Breakfast |
| Mon 9:30 AM | General Session |
| Mon 11:30 AM | The Design Shootout with Adobe Gurus |
| Mon 12:30 PM | Lunch |
| Mon 2:00 PM | A Virtual Trading Floor: Bringing Wall Street to the Classroom |
| Mon 3:15 PM | Inspire Session: Building Buzzword, a New Breed of Word Processor |
| Mon 4:30 PM | Inspire Session: Lessons Learned on AIR |
| Mon 7:30 PM | MTT: ColdFusion |
| Mon 8:30 PM | ColdFusion Developer Hiring 101 |
| Mon 9:30 PM | Fixing ColdFusion Perceptions and Reputation |
| Tue 7:30 AM | Breakfast |
| Tue 9:15 AM | Inspire Session: Yahoo! Presents "Examples of Integration |
| Tue 10:30 AM | General Session |
| Tue 12:00 PM | Lunch |
| Tue 1:30 PM | Adobe Integrated Runtime (AIR) Tips and Tricks |
| Tue 2:45 PM | Inspire Session: Design Patterns and ColdFusion |
| Tue 4:00 PM | Leveraging PDF within Adobe AIR Applications |
| Tue 5:30 PM | Sneak Peak General Session |
| Wed 8:00 AM | Breakfast |
| Wed 9:00 AM | Boot Camp for Flex |
| Wed 12:00 PM | Lunch |
| Wed 1:45 PM | XD: Best Practices for Creating Great Web Experiences |
| Wed 3:00 PM | Optimizing ColdFusion Application Performance |
| Wed 4:15 PM | Adobe Integrated Runtime (AIR) Security |
| Thu 12:50 PM | Flight USAIR 1564 |
I'm working on some improvements to Squidhead, and a few of them relate to Ant. The new version of Squidhead creates Ant build files. In addition to Ant tasks for rebuilding and refreshing the application, there is also one for running all of the CFUnit tests that Squidhead creates.
Since I'm trying to highlight the ability to add steps to Squidhead applications, I was thinking that it might be cool to not just write the tests as part of the Squidhead build, but also run the tests as part of the Squidhead. Including the ColdFusion autorunner for the reports didn't work. Because both CFunit and Squidhead rely on <cfflush>. So I fired up CFAnt to see if it would run. It didn't. It through an error that stated: BUILD FAILED askdef class net.sourceforge.cfunit.ant.CFUnit cannot be found.
I copied the version of cfunit-ant-v3-alpha.jar I use with Eclipse to my ColdFusion8/lib directory, restarted the server and voila: BUILD SUCCESSFUL.
Ant in ColdFusion is cool.
Oh and I imagine the same tip would help you to run CFCUnit tests to run from <CFAnt>
Over the weekend I got a notice that my hosting account with my old vendor had expired, and that it was time to renew. I had a lot of sitting around and waiting time this weekend, so I decided to consider if I should go with a different host. After much deliberation, I decided to switch to YoHost. I switched for the following reasons:
After being bought by a larger company, my old host's support took a slight downturn in promptness. I had read good things about the customer service of YoHost. (So far they are all true.)
YoHost had ColdFusion 8 hosting available.
For slightly more than the cost of 2 sites at my old host, I have a plan that provides me with 10 sites. I appear to be completely over, but who knows what glitches await me.
I followed the link Peter Bell offered today of the rundown of various web frameworks. I kept following to the Wikipedia article for my particular favorite framework, Model-Glue. Where I discovered this line:
Written by Joe Rinehart, a quasi-popular ColdFusion blogger
Really, quasi-popular? That seems a bit awkward not to mention inaccurate.
Joe, you're at least semi-popular in my book.