Each week from now until the Fusebox conference (Aug
31 - Sep 1), we're talking with one of the conference speakers.
WEEK 4: Hal Helms
FB: We're talking with Hal Helms, who will be giving an extensive
overview of Fusebox 4 at the upcoming Fusebox conference August
Sept 1 (www.cfconf.org/fusebox2003). I admit that this conversation
HH: How weird?
FB: On a scale of 1 to 10? Maybe an 11.
HH: No, I mean, how is it weird?
FB: It's weird because I am, you know, you. I'm interviewing
HH: Ah, and that troubles you?
FB: Well, doesn't it trouble you? me? us?
HH: Not at all. I talk to myself all the time.
FB: ThiS beminds me of the book, Goedel, Escher, and Bach.
A good deal
of the book is about the paradoxes of self-referentiality.
HH: I've been meaning to read that book. Did you like it?
FB: Oh, it's great. You should read?oh, never mind. Let's
get on with
this interview. You're giving an overview of Fusebox 4, is
HH: Yes, I think I start off the conference with that overview.
FB: Give us a sense of what the overview will cover.
HH: Well, I'm going to first show people that there are great
between Fusebox 3 and Fusebox 4. In fact, during the beta
had developers convert FB3 to FB4 apps in a very quick time.
FB: So, no wrenching changes this time?
HH: No. We knew that when we went from FB2 to FB3, the changes
were going to be tough, but thought that the advantages were
With FB4, the big change is that the FBX_Switch file goes
replaced with an XML file.
FB: Why use XML?
HH: To ensure that future changes to FB will not impact FB4
Since XML is language-independent, whatever new features FB5
introduce won't break FB4 code. It's about providing for backwards
FB: Which previous versions of Fusebox didn't have.
HH: No, they didn't. FB4 still isn't 100% backwards compatible,
changes are quite small and they were put in to make sure
here on out, we have true backwards compatibility. Of course,
backwards compatibility would have been great all along, but
advantage to letting something mature before you freeze the
form of it.
FB: Do you think Fusebox is mature now?
HH: I think Fusebox has definitely become an adult, capable
of taking on
long-term commitments, paying taxes, maybe even getting married
day. And to think, I can remember when I could balance little
on my knee?
FB: Um, this interview is weird enough as it is. Let's just
stick to the
HH: Sorry. So, yes, I do think it's quite mature. And this
has some great new features.
FB: Such as?
HH: Greatly improved runtime performance. We moved to a parsing
phase, in which a lot of things that were dynamically resolved
determined during a quasi-compile cycle. It's not compiled
in the sense
of moving from source code to a more machine-like language,
does mean that the runtime core files have very little to
do. Their work
is queued up for them ahead of time and so their workload
reduced?hence, the improved performance.
FB: That's certainly a welcome improvement. What else is
HH: I mentioned that the configuration files have moved to
FB: Yes, does that mean Fuseboxers are going to have to learn
XPath and XMLSearch and all that?
HH: Well, it certainly would be a good idea to learn that?but
no, all that
is handled internally. It's no harder than learning six new
tags and their
attributes. It's very easy.
FB: OK, what's next?
HH: The ability to execute multiple fuseactions in a single
That's tremendously helpful when using something like the
Controller pattern in applications. It just allows for greater
circuits with looser coupling between them.
FB: Which is a good thing?
HH: A very good thing, yes. Another great feature of Fusebox
FB: Yes, John Quarto-vonTivadar spoke with us last week about
HH: Yes. Also exception handling through plugins is very
slick and very
simple to do. Then there are content components?
FB: What are those?
HH: They are a mechanism to save pieces of content into variables
later use. Think of the cfsavecontent tag, which itself was
Steve Nelson's wonderful cf_bodycontent custom tag.
FB: Yes, but doesn't that cause a conflict when using cfflush?
HH: It did in Fusebox 3, but no longer. You can use cfflush
FB: So would you say that Fusebox is becoming more object
HH: No. In fact, I can tell you that we made a very conscious
that we wanted to keep Fusebox as a procedural framework.
that there's only one way to write applications is just prejudice.
FB: But you're a big proponent of OO yourself.
HH: I am, indeed. But that doesn't mean that you have to
use or even
should use OO for everything. There are a lot of procedural
a lot of very fine work. Fusebox is there to support them.
Moving to OO
is much more than some new syntax and new language features.
gain the power of OO, you have to make a large mental shift
FB: And that's where Fusebox MX comes in?
HH: Ben Edwards and I started down the Fusebox MX path, but
that we wanted to do more than graft some OO features onto
We wanted a true OO framework that would natively implement
help programmers learn object orientation?not just CFCs. What
ended up with was so different from Fusebox?even from "Fusebox
that we decided to change the name to Mach-II.
FB: And is that available?
HH: We're in beta right now and will release Mach-II officially
conference. Ben Edwards and I will be spending several hours
Mach-II to folks on Monday morning. Right now, you can get
version with some support materials (but not much) at www.mach-
FB: Well, thanks, Hal. Anything else you want to say?
HH: Let me just say that over the years, I've really admired
HH: One last thing. Well, a couple of last things. First,
vonTivadar and I are giving a class on Fusebox 4 August 27-29,
immediately prior to the conference. That will be in Las Vegas.
coming to the class will get free attendance to the Fusebox
Second, Ben and I are doing two classes around the same time:
ColdFusion Programmers August 18-22 and a class on Mach-II
25-27. People can get more info at my website, www.halhelms.com.
Also, they can sign up for my Occasional Newsletter while
FB: So you'll be in Las Vegas for a while.
HH: Yes, I just read a wonderful book on "How To Beat
the Slots" and I
expect to come back a millionaire. And one really last thing:
Michael Smith of TeraTech, has an opening for a Fusebox ColdFusion
architect/development manager. We're seeing more and more
openings requesting Fusebox experience. That's great, as it
people's investment in Fusebox in terms of career advancement.
Anyway, people interested can find out more details at
FB: Thanks, Hal.
HH: No, thank *you*
Week 1: Ben Edwards
Week 2: Michael Smith
John Quarto-von Tivadar
Week 5: Jeff Peters