Sunday, June 29, 2008

Speaking at cfDevCon

Its an odd place to start my presentation tour (or I hope it becomes a tour) but I plan on submitting presentations to many conferences moving forward and cfDevCon will be my first presentation stop, though I did lead a BOF at cfunited. My topics, at cfDevCon, will not get you any further along with using your favorite framework and chances are you won't see a whole bunch of cool CFML code snippets either. I figure there are plenty others out there that can do that better than me, maybe in the future I will consider some of those topics. Instead I'll enjoy talking about topics that are applicable across languages, and really thats where my core focus lies these days. In my current role my programming has taken a back seat to my mentoring and training and honestly I spend some of my time with projects that are not even CFML based projects. Many of the concepts I will be presenting on are 100% applicable there too!

My first session will focus on automation, I am all about being lazy and ANT is a perfect way to enable my laziness. This session first started out as setting up a developer IDE and I quickly learned that each person has thier own way of doing things and trying to show just one way of doing it will leave attendees with only a specific solution that works well for me and my company. Instead I plan to focus more on how to use ANT as a tool to not only automate redundant tasks like builds and deploys, but how it can be in integral part of your daily development life cycle. We'll cover things like test driven development and working with mxUnit's ant tasks. We'll touch on how to attach builders to eclipse projects, how to write ANT tasks to run tests, and, inspired by Marc Esher, a good overview of ANT's general syntax. There is a lot of content to cover and it will be fast paced and example heavy. We'll dip into CFML for a short bit to show off mxUnit but most of the examples will be ANT scripts!

The second presentation (yep I have 2 at cfDevcon) will be all about improving code quality. We'll spend a good amount of time talking about code reviews, the different types, how to introduce them in your company and how to be success with conducting code reviews. Code reviews are only one aspect of quality improvement, additionally we'll take a look at mentoring (and how mentoring and code reviews intersect) and JAD sessions. Improving quality is 100% language agnostic, if you have Flex, Java, CFML or .Net background come and check it out, everyone can learn something. If you are already successful with code reviews or mentoring come and share your ideas we'll have plenty discussion points so everyone can share! I'm really looking forward to sharing my success and failures with folks through my presentations, if anyone ever has topics they would like covered let me know I am always looking for other ideas for exciting topics to explore.

Friday, June 20, 2008

cfUnited BoF

I wanted to thank everyone that attended my BOF at cfunited. I had a great time sharing my experiences and leading a GREAT conversation with all of my peers. The BOF was only a success thanks to the endless participation from the audience. If you enjoyed the BOF you might be interested to know I have a tentative plan to present this type of material at some conferences in the future (maybe even cfunited 09???). Nothing for sure yet but I am working on the possibility. As promised here is the mind map. I will try to capture some of the conversation and more on this Mind map in future posts, maybe when I am running on more than 4.5 hours of sleep!!
If you click the image it will get bigger.

Sunday, June 15, 2008

cfConversations is a Go!

Last Friday night I had the opportunity to take part in the next chapter of CFML podcast history, taking part in the first cfConversations podcast. Lead by Brian Meloche and joined by Rick Mason, Aaron West and Jeff Coughlin, we had an hour long round table about all the happenings in the CFML world recently. Admittedly it started off a little slow but I think we really got a good stride after just a short while. I learned something valuable in this first round table, think about what I am going to say and write down notes. A couple of times I found myself wondering to much when I talked. I look forward to working with Brian more in the future on cfConversations round tables as well as interviews. While we're discussing interviews we have quite a few lined up to take place at cfunited including Mark Drew, Sean Corfield, Adam Lehman, Ray Camden, Peter Bell and many others maybe even including YOU. That's right you, if you plan to be at cfunited and would be willing to sit down and talk for 15 minutes or so leave a comment with some contact information.

Saturday, June 14, 2008

Polyglot Programming and CFML Developers

For those that do not know what Polyglot Programming is allow me to introduce you to the term! It really sounds fancy but when it comes right down to it Polyglot Programming is the utilization of multiple languages to complete a task. We all are more or less polyglot programmers; using CFML, ECMAScript (Javascript or Actionscript), CSS, HTML, and (some of us) Flex/Flash. So for this discussion we'll refine Polyglot Programming down to using multiple server side languages to accomplish a task (as this is the really discussion going on most of the time these days). I think ever since CFML was available on the Java platform many of us began to be partial polyglots (I know this literally would mean we are each programs written in multiple languages but I'm going to use it to describe ourselves instead). As a point of reference one of my first projects I worked on with ColdFusion MX I used Java to zip content. The reason I say partial polyglots is I didn't really write Java I just used CFML to execute a couple of Java objects. Looking beyond a CFML developer barely learning enough Java to dip down into the Java layer, what is the typical growth path of a CFML developer?

CFML is such a high level language the only level above CFML right now would be frameworks, or a custom DSL. I get the feeling that frameworks is where the average CFML developer interested in growing spends his/her time, learning frameworks. This is a good practice as one can learn a great deal from frameworks, not to mention the benefit of using frameworks in many instances. The problem I see here is the average CFML developer is not learning CFML's foundational language, Java*, and not really wandering that far from their comfort zone. Sure frameworks might force you to learn a new technique or push you into a new paradigm but you are still working in CFML. ColdFusion has done a spectacular job hiding the java underpinning behind a curtain. While that lowers the barrier to entry, which is a good thing to grow a community, I think it is a shame too. A CFML developer can blissfully develop code without ever understanding how it is their application works. On one side that's exactly what one would want to look for in a platform. From another perspective, when it comes to developer growth and incentive to grow, this may not be the best thing. Where is the incentive to learn how a war is deployed to a app server? How many CFML developers know what a context root is or how it might affect their application if the context root is not /. I am going to guess the average CFML developer may not even be familiar with what a many of the terms I just talked about are, and even the terms that sound familiar many may not truly understand how they fit together. Without dipping a little further into Java the typical CFML developer can not realize the true power of polyglot programming that can be leveraged on the Java platform. A superb example of someone that has found, for him, a great balance of polyglot programming is Andy Powell. His presentation at cf.O outlined how his projects leveraged Java (with Hibernate and Spring) and CFML. At Kroger we use Spring Security in all of our [new] CFML application as well as an ever growing library of Java classes that allow us to share IP with the Java side of the house. Another good example of polyglot programming, with an added bonus of a lower barrier to entry, would be cf_groovy, Barney Boisvert's project. I've not had the time to look into much yet but the few blog entries Barney has posted have been fascinating. If you are interested in learning more about Java and the JEE environment that most CFML engines run in but don't know where to start leave a comment/question. Let me know if you will be at cfUnited. If there is enough interest I will setup a late night pow-wow in the Lafayette room to introduce folks to Java/JEE.

* maybe .Net for those on BD.Net

Sunday, June 08, 2008

OpenBD, The Comminity and How I See it

This is a direct response to Andy Powell's blog entry but serves as a general statement of my opinions on the matter as well. I understand my comments might be perceived differently due to the fact that I am on the Steering Committee and I appreciate that but I hope folks can look past that for a second and read my rather long but thought out commentary. Besides these comments are mine and certainly do not reflect that of what others on the Steering Committee think.

OpenBD has been loosing momentum since the day it was announced w/ speculation and bad blood strewn about. It really sucks Vince is the way he is and that OpenBD suffers from the New Altanta stigma. The migration stuff is a gimmik, a shitty one but a gimmik non the less, to sell licenses. Alan is not part of New Atlanta and licenses BlueDragon to NA. If Vince was truly converting and not selling BD licenses wouldn't you think Alan would be a bit pissed off ? After all if Vince is converting and not selling licenses Alan is not making as much money. Is Vince eating away at Adobe's license sales? Probably not much he's claimed to be focusing on folks still on cf5 that have "abandoned the platform." Am I just being fed a spoonful of crap or the truth I don't know. I tend to believe him, maybe because I want to but also because I work for a large enterprise that nearly signed a deal with New Altanta a few years back and had nearly abandoned the platform (we were still on 5 at the time) and I know plenty other large companies in the same boat.

There have been some bad misconceptions and double standards applied the OpenBD project to get OpenBD to where it is. For example Adam Lehman says OpenBD only served to eat away at Adobe's customer base. Folks agreed and disliked OpenBD claiming OpenBD does not want to grow the community it simply wants to cannibalize it. While I never thought this was true based on the NA stigma I can understand where that was coming from. Then Alan is shone in a light by Sean (slightly out of context but a fair depiction of the conversation really) that says Alan doesn't care about the CF community and wants to focus on the Java community. All of the sudden OpenBD is looked upon negatively b/c it doesn't care about the community. Seems like a hard place to win honestly. If OpenBD focuses on the community its cannibalism if OpenBD doesn't focus on the community it doesn't care about the community and is against it.

As for Railo being more open, I vow right now to each and everyone that reads my blog and/or comments on the various boards I will be open and honest about what OpenBD is doing and make sure it is communicated. I'll also do my best to help folks differentiate between my own words and those that are coming from the steering committee. I have had an open dialog with Adam Lehman on email in the past and I plan to continue to seek his honest feed back in private as long as he is willing to listen. I'm also always willing to listen to anyone in the community I don't care if you are a high profile person like Joe or Sean or a lurker that has never spoken out before like Chris Weller. If you have an opinion and want to share it I am listening.

What I think needs to happen. I think Vince needs to donate NA's Admin to the project as a sign of good will. I also think the comunity needs to realize that Alan's target is not the CF community and never was, that is why folks like Sean, Matt and Mark were on the committee to ensure the community was fairly represented. I think Adobe should continue being Adobe selling an awesome product and evangelizing ColdFusion. Finally I think OpenBD needs to refine the license, I'd love to see Alan step up to the plate and release under LGPL as well. Will that happen? Not Likely, but a Classpath exception would be a step in the right direction. OpenBD is not New Atlanta and I hope New Altanta drops BlueDragon JEE all together and only focuses on selling support for OpenBD.

In an effort to be completely honest, had I know Railo was going open source I may have stayed out of Open BlueDragon. I didn't know and now I made a commitment. My commitment was not only to OpenBD but to the community to make sure we were represented appropriately. I've listened so far and brought up points like better licensing and concerns about perception. Posts like Andy's are rough, they make me doubt if I am doing the right thing but at the end of the day I think I am and I appreciate the open and honest feedback.

Like I said else where OpenBD should succeed or fail on it's technical merits not some emotional attachments. Technically its a good solid engine with plenty of potential and I would hate to see the OS offerings dwindle because some folks can not look past the history of New Atlanta's BlueDragon and look forward to the future of what OpenBD can offer.

Saturday, June 07, 2008

Railo going Open source

Sorry I am late to the blogging party on this one. I've been so busy with work and OpenBD I haven't had a chance to welcome Railo to the open source community thought really they only announced it they have not "arrived" yet). Being big fan of JBoss, though I will say that has waned a bit after Redhat took over, I am really glad to see them teaming up together. This gives a great backing for Railo and for the first time ever we have more open source CFML engines than closed source engines. I smell standardizations on the horizon, course I have a horrible sense of smell so it might be something else.

Wednesday, June 04, 2008

cfunited fun

What are you looking forward to most?
Hanging out with folks in the community. And mostly meeting new folks in the community.

Which speaker will most likely end up on your camera?
I don't take many pictures and not a big fan of photography but if there is one possibility it might be Mark Drew after visiting the Tattoo place.

What do you plan to do outside conference time? (Clubbing/Bar Hopping, DC Tour, DC dinner cruise, Museum, Fine dining, Live Band shows, etc.)
See above.

Fill in the blank: I will mainly be around the bar booth.

Do you have a new project you are working on and will reveal it at CFUnited?
Revealed no but I will be talking about OpenBD.