Thursday, August 28, 2008

Open Source Sorta Kinda Rocks

I've been pretty busy recently not only at work but I've picked up enough stuff to keep me plenty busy outside of work with my involvement in cfConversations, mxUnit stuff, Fusebox and OpenBD. In all honesty this all has taken a bit of a toll on my blogging. I feel like I had been doing pretty well (or at least improving) with my blogging up until a little after cfUnited. As I look through my recent posts I realize I have given any blog time to one of my first public involvements, OpenBD.

The buzz has settled and we are all still standing! Adobe still exists, the CFML community as strong (dare I say stronger than ever), and we are slowly growing our community with more and more developers from other platforms with interest in CFML (wether it OpenBD or Adobe or even the future Railo OS effort). We (OpenBD) never made a big deal about it but Kirk Pepperdine a Java Champion and Server tuning wizard joined OpenBD Steering committee a couple of months back.

I think OpenBD still has a ways to go before folks in the CF community will begin to adopt it fully for use in projects. This is not to even suggest it is not a solid product as is (really it is an awesome product as it stands) but it does lack a couple of things that I feel are important for folks in the CF community. I think we'll see more adoption once we establish an official version number (and version schema/road map) and public facing documentation, I swear a wiki has been on the way for months now. I also am under the impression people are still a little weary about this whole WAR deployment, something Adobe's ColdFusion has done a very good job shielding us from for years now. Oh and finally that whole lack of a GUI for the admin might scare off some folks as well. I can happily say that folks are in one way or another working on all of the above. This is exactly why open source sorta kinda rocks. I think most people would agree Matt Woodward is an awesome developer and thanks to OpenBD you get his code running in your enterprise for the exact price of nothing, though a thanks is always appreciated. Alan Williamson is an elite, recognized, Java developer and you get his work, again, free!

If you want proof positive that OS rocks check out this thread on the OpenBD mailing list. Suggestion to alpha released jar in something like <72 hours. You just will not, generally, see this in a commercial product. Really you should not expect it since Adobe has big incentives to hide their new features until release. Thanks to the completely open nature of Open Source projects there is nothing to hide. If we are working on something I can guarantee that you, and everyone else, will know about it right quick. No need to be an exclusive beta or alpha tester, just drop by in your spare time and ask "Hey whats up?" Some enthusiastic user or developer will usually be more than happy to point something out.

Wednesday, August 20, 2008

CodlFusion 9 Feature Request

I like Mark's java Loader it's nice but I feels hacky using it. Not saying anything in it is wrong or otherwise not grade A. I just feel like I am hacking something together using it. It'd be nice if this was just built into the engine, I was thinking something like createObject("java","com.package.Class",ClassLoader). This would allow ColdFusion to search one additional classloader that I create, presumably with UrlClassloader. Now I understand that this one might be odd since, as far as I recall, this would be the first you'd ever feed a Java object into a CF method so maybe we could just pass in a URI string, createObject("java","com.package.Class","/path/to/class.class")? Anyrate my whole point here is we are seeing more and more integration with Java and there is, obviously, a need for folks to load in Jars at runtime*. Many do not have access or know how to add jars in the defined classpaths, or add classpaths to jars.

* Yes I know Shared hosts would most likely not like this but the fact of the matter is we can already do it, and Mark has made it super easy. So since we can do it we should just add it to the language instead of some external CFC.

Monday, August 18, 2008

Hello Guangzhou

I was checking out my traffic this morning and saw some folks from China had visited. I was curious where in China so I drilled down to see more details. I was thrilled when I saw I had visitors from Guangzhou. Why you ask? Well a friend of mine, well she would say co-worker, is from your Guangzhou, which I still struggle to pronounce correctly. I thought it was cool to see someone from her home town checking out my blog! I think China is a very interesting country and the culture there is fascinating, its very similar to Americans on some levels then miles away on others. Maybe someday I will get the opportunity to visit China so I can experience it myself. Before I do that I need to get a lot better at Chinese, maybe I'll pick up that software they advertise on TV. Any rate from me to you and everyone else in China, Australia, Canada, France, Germany, and many other foreign places I can only hope to visit some time in the future hello and thanks for stopping by!

Thursday, August 14, 2008

Speaking at bFusion

Bob Flynn and is once again hosting bFlex and this year has added bFusion! bFusion is an awesome 1 day FREE(!!) event at Indiana University (Bloomington Indiana) followed by a 1 day FREE event for Flex. I won't get into the sales pitch just check out the site. I do want to pimp my 2 sessions though both of which are very near and dear to me. First is Open Source CFML Engines and second being Headfirst TDD.

In my Open Source CFML session we'll explore the open source business model and take a deep dive into how open source CFML engines will help shape the future of CFML development. There is a lot more to Open Source than just the free cost aspect we'll explore this for a brief while. We'll also discuss the differences between Platform and language. I think its just as important to recognize the value of ColdFusion as it is to see the value in CFML. At the end of the session you'll walk away armed with the knowledge you need to make a conscious well informed decision if open source CFML is the right option for you!

My second session, Head First TDD, is pretty much what the title describes it to be. We'll be diving head first into how to start developing with Tests in mind. The cool part is the Head First TDD will be hands on. I won't tell you how you should do TDD you will follow me and work with others and PRACTICE TDD. In the 1.5 hour session there might MIGHT be 20 minutes worth of presentation the remainder of the time will be used to explore TDD together with, hopefully, non-trivial examples. Since this is hands-on and interactive you'll need ColdFusion (or Railo should work), Eclipse, cfEclipse and mxUnit installed. If you'd rather you can just use pulse and get my profile, which I have talked about before. You'll still need to install a CFML engine and have mxUnit's CFML code downloaded and preferably running in ColdFusion. You'll also need an open mind and bring a little extrovert along b/c you will be working with others! You'll also need to download some CF files for the hands on but the examples I have are very boring and I am trying to come up with new ones, ones I have not finished yet. Most likely that will be done the week of the bFusion as I procrastinate and have a lot on my plate. I'll post them as son as I am happy with them.

Welp that's all I have to say for bFusion, I can't wait to see you all there!

Eclipse Plugin for Fusebox (re: Marc Esher's Comment)

Marc Esher, someone I've grown to call friend over the past few months, left a question in my post yesterday inquiring if Kroger would be donating an eclipse plugin for Fusebox. What Marc knows but others do not is we have built a plugin at Kroger to help kick start project start up. The plugin is a fantastic help to driving consistency and help get a project's code base off on the right foot. The short answer to Marc is no. But I didn't want to leave that sort of comment in my comment trail as that's the short answer. The longer answer goes something like this.

The plugin we have inside Kroger is pretty Kroger specific and reaches far beyond the boundaries of what Fusebox should offer/dictate, in my opinion. Beyond that it is mixed and jumbled up with a large amount of Java web app generation as well. There is also the added complexity of competitive advantage that might keep me from being able to release it. I have not asked so I am not sure where that would take me at this point. All in all the plugin would force way too many things on developers and most would probably find it's restrictions more problematic than it is worth. That being said the concept of the plugin is rather nice and I think I maybe have even mentioned to Marc at one point about making a plugin available. It would not be the Kroger plugin but instead a separate one that I build with lessons learned from inside Kroger. In fact as I think about it what I'd really like is to create a plugin that allows additions to be added, so I can use it internally as the core/seed to Kroger's plugin and externaly folks can use it as the core for Fusebox project creation or Model-Glue generation. In all honesty the plugin does little more than what a nicely written ANT task can do, it just feels cleaner and has a slightly nicer flow to it inside Eclipse. At the end of the day I am one person though and I have to make a decision on what is worked on. Personally, as I said before, I think Fusebox itself is in a happy place right now, it is stable and has reasonably good functionality. So chances are I'll probably work on things like this before picking up the core and flopping it around too much. In short no Marc Kroger's plugin as it is today will not ever be released. After some refactoring some of it, it might be release. There's still the the whole getting permission to do it that may or may not work out.

Wednesday, August 13, 2008

Hello Team Fusebox

I've been very busy lately with many projects so my blog has been quiet, though I hope Bill Shelton, myself and Marc Esher (among others) can pimp some of this stuff we are working on soon. I did want to take a minute to make mention of the announcement that was made in the cfConversation's round table. It's now official, I am the new developer in charge of the Fusebox core files. Check out the announcement for my brief statement, also check Sean's blog (like you haven't already). Expect me to think out loud a lot on my blog about new features and changes to Fusebox in the future. I do want to thank Sean for entrusting me with the core as well as his kind words, I appreciate the opportunity.

In all honesty Fusebox is in a happy spot right now and aside from bug fixes I am not planning on touching the core much right away. I've heard some rumblings about getting full support for Fusebox 3 and I'd relly like to hear why, and see how many want this. Over time as I get more comfortable with the core files I might try to achieve full Fusebox 3 compatibility but that will take time. Intially I think I am more interested in experimenting with speeding up the core, small enhancements to the no XML features, and providing more definition to layouts (more on this soon this is very much an incomplete thought). So what do you hate about Fusebox?