The following is an interview conducted by Brian Rinaldi, Author of RemoteSynthesis, Adobe Community Expert, and User Group manager of Boston CFUG, regarding Peter Bell's presentation topics for CFUnited 2008.
In this month's installment of my CFUnited interview series, I speak to prominent ColdFusion blogger, author and presenter and good friend, Peter Bell. Peter is well known for his innovative and often controversial ideas about code generation and design patterns. Peter also runs his own business, SystemsForge, based in New York City. Having just returned from a whirlwind series of trips around the world where he both attended and presented at various conferences and, after weeks of harassment from me, Peter has agreed to speak with me.
Brian: So to begin, what sessions are you doing this year at CFUnited?
Peter: I'm presenting three sessions - Building CFC's, Practical Code Generation, and RAD OO.
Hopefully it'll be a nice balance as the first session is for those new to Object Oriented programming and CFC's, the second is an intermediate session and RAD OO is definitely pretty advanced.
Brian: Nice. Can you tell me more about the building CFC's session? Does this deal with code generation at all or just basic CFC development?
Peter: Building CFC's is an introductory session. No code generation or design patterns. It just introduces developers to what CFC's are, why you might want to use them and how to get started with them.
Brian: Does it focus on CFCs related to object-oriented development?
Peter: Yes. In simple web applications, Object-Oriented development isn't very important, but I noticed that as my web applications got bigger, using CFCs to structure my code allowed me to write larger programs that were still maintainable.
So the session will cover the syntax of CFC's but also why you might want to use them. It will offer specific examples of where to get started if you have an existing code base and don't have much time to spend on new ideas.
Brian: Tell me more about the Practical Code Generation session.
Peter: In Practical Code Generation we'll be looking at the ideas you need to start to generate more of your applications. It is relevant both to people working on one large application and for those who develop lots of applications.
We'll start with some key concepts like "Domain Specific Languages" that allow you to do a better job of designing your generators and then we'll work through an example to show how the theory works in practice.
Brian: I know someone who wrote a very practical code generator...will that make it into the presentation? ;)
Peter: The main focus on the session will be on understanding code generators, but naturally I'll be mentioning the most popular ColdFusion based code generators - even those with silly names :D.
Brian: Hmph. I won't take that personally.
So what will be the difference between that session and the RAD OO one?
Peter: Practical Code Generation will be an intermediate session. The main focus will be on code generation and while some Object Oriented experience would help, it will not be essential.
RAD OO is definitely an advanced topic. In RAD OO not only will I be assuming that everyone is familiar with concepts such as Model-View-Controller and frameworks like ColdSpring. I will be showing how breaking all of the standard rules can actually allow you to create mid sized web applications even more quickly while still making them maintainable.
I will be looking at how a deep understanding of OO can allow you to cut certain corners and will be giving away many of the hints and tips that I use to develop 30-40 custom web applications a year while still having time to present at over 10 conferences and run the other aspects of my business.
The goal is that if everyone can take away just one idea from the RAD OO session, it could help them to save a lot of time in the future. But if you don't have experience with frameworks such as Model Glue, Mach-II or ColdSpring, it might be a little too fast paced.
Brian: That sounds like an interesting topic to be sure. I know that you and I have had our fair share of debates on these topics, so you can expect me there to heckle you.
Peter: Hecklers are welcome - I always seem to find one or two :D
Brian: You mentioned all your conference presentations and travel. Many of us have noticed that your once prolific blog has gone quiet. Care to share with readers what you have been up to?
Peter: Sure! In addition to presenting within the ColdFusion community, I also present at a number of other conferences like ooPSLA, the Domain Specific Modeling Forum, Code Generation and the British Computer Society Software Practice Advancement conference. It is interesting presenting to and learning from the top experts in code generation and OO design and then trying to find ways to bring those ideas back to the ColdFusion world while also sharing the ColdFusion love outside of the community!
I'm just back from a two week trip to the UK presenting at CF United Europe and the BCS SPA (which is probably the best conference I've ever attended).
I'm also working hard on upgrading my Software Product Line which I use for generating web applications and am on the program committee for a number of different conferences.
Finally, I ran an ad agency for many years so I'm also getting more involved with presenting at marketing conferences to introduce best development practices for creating robust, marketing focused web apps.
Brian: ...and what do you do in your spare time? ;)
Peter: Well, I'm writing some technical papers on domain specific modeling, learning Flex, getting more comfortable with TDD, Unit testing, Cruise Control and Ant. I'm also considering porting rspec - a BDD framework - to ColdFusion :D
Brian: Jeez, I was kidding.
Well, I can say I am definitely looking forward to your sessions. I know you and I have had interesting debates on some of these very topics and having seen you speak at other conferences, I know it will be well worth attending.
Thanks for taking the time to chat. I look forward to some healthy debate at CFUnited, hopefully over a brew at the hotel pub!
Peter: Thanks! I'm certainly looking forward to your session on RIA and data security on the Friday and I'm sure we'll manage some interesting debates (as always) in the pub.