April 2008 Archive
Look Ma!! ColdFusion* IS free AND scalable!
I thought I would write this article for two reasons, firstly as an effort to stomp on a couple of myths that are surrounding ColdFusion, and also to provide a neat little one stop round up to those who are interested in ColdFusion and what it can offer.
To give you a little in the way of background, ColdFusion harks back from the mid nineties and since then has gone through many different guises since then, ranging from the original Allaire product based on a C codebase, to the current range of options coming in both Java and .NET flavours.
Now, a quick jaunt back to the original ColdFusion if you will. Allaire produced ColdFusion from July 1995 up until they merged with Macromedia in 2001. In this time the product moved up to version 4.5 and it had a range of cool features, but it was somewhat hampered by the platform it was built on, a 100% C codebase. This caused ColdFusion to get a little bit of a reputation (that you, dear reader, might still see as truth). These versions weren’t overly performant, couldn’t scale that well, and suffered from a lack of any real component functionality other than the custom tag paradigm. For some reason, this old version of ColdFusion appears to have shaped the reputation of the platform for the last seven years. I’m not overly sure why this is so, but stuff happens.
Since the arrival of Macromedia’s CFMX 6.0 in May 2002, ColdFusion has been a whole separate beast to that that has come before. For a start, it’s written in Java – it’s essentially a blooming great lump of servlets – so the scalability issues have definitely been addressed. There are plenty of massive sites out there running CFML at their core, Adobe.com being one, MySpace, 192.com, parts of eBay and AOL amongst the many many others. Plus, CFML platforms are available from at least four seperate vendors, and comes in a variety of flavours.
So, as you can see the current reputation of ColdFusion is pretty much now 100% unfounded, and there is plenty of press out there that will tell you the same thing if you care to look. But now we get to the crux of this article. What’s out there for CFML and how much will it cost you (if anything)?
In a nutshell, there are four vendors out there that I am aware of: Adobe, New Atlanta, Railo and the Smith Project.
Adobe
This is considered as many as the primary (and for some, only) vendor of a platform for CFML – i.e they develop the product ColdFusion. This is now in it’s eighth version with a ninth planned soon. This is a Java based application that can be run on a variety of J2EE platforms such as Adobes JRun 4, Tomcat, JBoss et al. This comes in two closed source versions, Standard and Enterprise ranging from around $1299 to $7499. This is quite a significant wedge of money, but at the end of the day it is widely proven that the productivity of ColdFusion makes up for this. However, paying for closed source software isn’t everyone’s bag hence there is some options also available from…
New Atlanta
These guys have been producing their BlueDragon CFML server for around six years now, and follows roughly the same development path as Adobe. Bluedragon is definitely the major competitor to the market. New Atlanta kick out several versions of Bluedragon: for .NET (deployed onto .net instead of Java), J2EE, JX (a standalone Java version), BEA Weblogic Edition, Server (a free limited use version), and most significantly, a newly announced Open Source edition released under the GPL.
This brings forward several new things for CFML. It’s now available for absolutely no outlay, and the code is open, which brings it into line with other options such as PHP or Ruby on Rails. People should definitely consider CFML now that this option is there as it makes CFML so accessible. Chances are that once you’ve given it a go, you’ll be hooked and wanting to try out some of the other editions out there.
Railo
Railo is a swiss company that produces it’s own CFML engine which comes in four different editions : Express (running on Jetty) – a version that requires no install, Server – similar to Bluedragon JX, and WAR for J2EE servers. Railo is typically regarded as one of the quickest implementations of a CFML engine, and is well favoured amongst those in the know. Railo is available for free, but only their limited functionality Community Edition. For more information on Railo, please visit their website.
Smith Project
Personally I don’t know a lot about Smith. It’s open source, and developed in Java, but from what I have heard mentioned on the subject it’s currently very much under development and fairly immature.
So, as you can see there are plenty of options available, plenty of ways of getting powerful, scalable (and free if that floats your boat) CFML. If you look at PHP, Ruby on Rail, ASP.NET or others without considering CFML you are definitely missing out. Additionally, if you are already a CFML developer and moan about the cost and closed source nature of ColdFusion, you need to open your eyes a little and look at the other CFML options.
Nothing is as easy to write, easy to debug and easy to integrate with as CFML, period.
- By ColdFusion, I of course mean CFML, but a lot of people don’t know there is a difference. ColdFusion is the product marketed by Adobe, whereas CFML is the ColdFusion Markup Language – the syntax. As far as I am aware, Adobe hold no rights over CFML itself.
Posted by Neil Middleton on 01 Apr 2008
Google launches App Engine
Last night, Google launched their Amazon EC2 competitor, App Engine.
For those of you that don’t know – Amazon EC2 is a system whereby you can upload a machine image that you can then create literally hundreds of virtual images from for very little cost. Accompanying this is the Amazon S3 service which is essentially a huge virtual storage device in the cloud – priced in a very reasonable pay-as-you-go style.
The cool thing with EC2 is that it is all controllable with an API – so, for instance, you could potentially have a web application that monitors it’s own load, and scales out new servers as required fully automatically – you only pay for what you use. This is great for new start-ups who aren’t really sure if their new super-duper social site is actually going to get no visitors, or become the next Facebook.
Google App Engine is a little different. With this, you are given a pre-prepared machine image which is basically a web server rigged up to use Python (with other platforms potentially coming soon) and a Google driven data-store, which is bound to be a bit speedy. Initially this might seem a little annoying as a CFML developer until you check out the free account.
As a non-paying App Engine subscriber you are somewhat limited on what you can do – but as Google describe it, you have enough for half a gig of storage and around 5 million page views a month. Now, thats a pretty busy website in my eyes. So, if you have a busy static website, a load of files requiring storage, or are handy with Python it’s worth a look – you could end up with a free web server.
On the other hand though, as a CFML developer, you’ll need to look at EC2. With the advent of the open-sourcing of Bluedragon, we are now in a position where we can build a no-cost server image (comprising of Linux, MySQL, Apache, Tomcat and Bluedragon) which we can then deploy to EC2 and scale for very low cost and end up with a supremely scalable, and performant cluster of servers. Best of all, if you don’t use it much – it doesn’t cost you as much, unlike having a rack of under used servers somewhere in a data-center.
So, come the revolution, we can all be building our infrastructure from nothing but the cloud, and scaling as far as we want, and best of all, for no cost but still using CFML. Obviously Amazon EC2 is the only choice at the moment for cloud CFML computing, but I’m sure Google will make their system a little more customisable over time.
Posted by Neil Middleton on 08 Apr 2008
ColdFusion 8.0.1 makes it to Macworld
I’ve just been nosing through some of the feeds I am subscribed to and was pleased to see that ColdFusion 8.0.1 got a mention on the Macworld.com website.
Although the article appears to be aimed at the not-so-tech savvy and even if it does smell of an Adobe authored press release, it’s still nice to see it out there being put in front of people not so familiar with the product.
The more people aware of the new evolutions the product is going through at the moment the better.
Posted by Neil Middleton on 10 Apr 2008
Please Adobe, give us a public ColdFusion bug tracker
At the moment Adobe are giving out a whole load of JIRA love, the bug tracking system available from Atlassian (and quite understandably, it’s a cracking product) with the presence of their Flex bug tracker, and now, their Flash player system.
After a quick twitter conversation, it would appear that there is a lot of demand for a ColdFusion bug tracker, so we, the community, can communicate our issues and ideas back to the developers as we need. The end result can only be a better, more robust, stable, and capable product for all.
Historically, these trackers have only been available during product alphas and betas, using the old mmbeta.macromedia.com system, which to be honest, is a pile of cack. However, regardless of how bad the tracker, that communication was still in place.
So, come on Adobe, give us a bug tracker. Transparency is the key.
If anyone agrees, please leave a comment below – consider this a petition.
Posted by Neil Middleton on 10 Apr 2008
Fixing a broken dashboard in Wordpress 2.5
Since upgrading to Wordpress 2.5 last week (which, incidentally, is excellent), my administrator dashboard has been somewhat broken returning the error:
Fatal error: Unsupported operand types in /path/to/blog/wp-admin/index.php(101) : runtime-created function on line 1
Well, I’ve been looking at this tonight and sussed the problem. Let’s take a look at line 101 (ignore the word wrap):
$num_widgets = array_reduce( $sidebars_widgets, create_function( ‘$prev,
$curr’, ‘return $prev+count($curr);’ ) );
Now, from what I can tell, this line is figuring out how many widgets to show, and thus figure out the HTML etc required to do so. However, in PHP, array_reduce() will return NULL if nowt is found, and an initial value argument is not passed in. Passing in an initial value fixes this (0 being that default):
$num_widgets = array_reduce( $sidebars_widgets, create_function( ‘$prev,
$curr’, ‘return $prev+count($curr);’ ), 0 );
Stick that in your code, and all should be running smoothly.
Posted by Neil Middleton on 10 Apr 2008
Scott Barnes talks ColdFusion
Now, I’m not wanting to start yet another “CF is dead, moan moan moan” thread running here, as frankly, I think they are a waste of everybody’s time and achieve nothing. However, I would like to reproduce here a post that Scott Barnes, Product Manager at Microsoft for the Rich Client Platform Team, and Mr MossyBlog, has posted on the CFAussie list talking about improving the CF Community:
“Yes, I did get promoted and thankfully no more Evangelism. I find the Evangelism scene, political, annoying and if i have one more heated debate with the competitors over something minor and trivial, I’ll retire and go paint landscapes..
My new role is Product Manager in the Rich Client Platform Team (WPF/Silverlight).
Now that’s out of the way.
Let me share some of my learned experience around technology adoption (specifically in Australia/New Zealand), and specifically brand awareness. Right now the benefits around why Coldfusion aren’t there, in that they may technically be there but the fact is there is limited marketing around the product and not just the product but also the community surrounding the product.
My previous role was an Evangelist, and i bet if i asked anyone on this list what does that mean, I’d get various answers. An Evangelist role within Microsoft is simple, help folks with new emerging technology not by ramming it down their throats, but simply connecting them to people. In that, it wasn’t my job to make you buy ASP.NET or adopt Silverlight, but if you showed an interest I’d connect you with some folks whom can either pay you to do the job, help you learn the technology or provide you with some overview/understanding of what the technologies we had offer could do. I’d also promote the new technology and with our team, do presos etc.. that and travel the world and attend really cool parties (but thats boring right). Evangelism is crucial to keeping technical communities alive, as it’s not only a contact sport but it’s one that scales quite well – if architected correctly. Find generals in the field, help them, support them, provide as much as you can to enable them to scale. Right now you folks don’t have Coldfusion Generals.
I mentioned at last years WebDU that Adobe should consider MVP programs or similar nature (I did myself no favours by doing this) and got laughed at, as if i was spreading some FUD around or something. MVP programs are extremely successful inside Microsoft communities, we ensure these folks are kept in the loop as much as possible and can call on the evangelists etc anytime should they need anything, some would say they are almost blue badges themselves. They also have no issue with beating us around the head should we screw up – some have and done really good job of it – we don’t punish them for it, we instead fix whatever the heck we stuffed up on and apologise (should it be our fault) as to punish them would cause 20,000 times more pain for us then the original problem causes (basic math right).
Some fun facts about MVP’s todate:
Worldwide there are more than 100 million participants in technical communities.
Of these participants there are only 4,000 MVPs located across 93 countries, spanning more than 30 languages and more than 90 Microsoft technologies. There has been a 10 percent to 15 percent MVP audience growth in countries such as China, Russia and Korea Over the past few years new regions with MVPs include the Republic of Congo, Ghana, Nepal, Macedonia and Macao In recent years, a handful of MVPs have been awarded in new categories such as MSN, Xbox, Visual Studio Tools for Office, Microsoft Dynamics and Visual Studio Team System.
MVPs are a diverse group that includes accountants, teachers, artists, government workers, engineers and technologists. Now, who’s laughing? I’m not. It takes a lot of work to get someone into the MPV program, and just because your the most popular guy/girl on a mailing list doesn’t automatically make you an MPV. It’s not whom you know, it’s what you know and I can say outloud, the paperwork internally to get someone on this program is an effort – but worth it in the end. My point is really raw and simple. Call it FUD, i don’t care – in fact i’d prefer to keep the politics out of this one. I spent a lot of years waiting for the Coldfusion scene to pickup. I like most of you at times took the crappy jobs while the market picked up, I also waited for Macromedia to finally get some budget to market and so on.. we got told a lot of promises and fast talkings at WebDU/MXDU’s of past and yet nothing much has occurred. Year after year the Coldfusion question would come up, same or similiar responses would pacify us for only so long…
eg:
Remember Suncorp high-fives? Guess how many CF developers are left – over to you Darren.
I raise this point simply to say guys, enough. You have got realistically limited choices:
- Start acting like a community and foster better relationships. Don’t bring in the same muffin eaters, look for new ones.
- Understand what motivates adoption in today’s market.
- Older generation developers switch to languages simply due to boredom, perception of no work and last but most important of all, lack of support by the brand whom owns the language.
- WebDU should be bigger each year, but this year we’re not even attending simply because I couldn’t get an ROI story out of it. I’ll be honest, year on year we attend, we really get low value out of attending. We’d rather focus our energy on events like WD07, BarCamps etc as these folks are not only agnostic but open to technology discussion, less about brand politics.
- Put more pressure on Adobe to get the budgets or better programs in place. I’m amazed that we in Australia have 13 Evangelists whom are kept busy 24/7 and Adobe has 0. One Evangelist for APAC? – how about you have your own local Adobe celeb to lead you instead of waiting for the US guys to fly out once a year?
If you think this thread is doing my employer any favours, think otherwise and i’m sure i’ll get some feedback for it (Today is my last official day as Evangelist so i have a small amount of free reign here). I leave this as simply a parting gift to you folks before I head over to the US. I loved working in the Coldfusion space for many years, despite our petty email squabbles and thread wars – Taco Fleur, you’re still cool – there have been some real quality friendships made out of this community (actually most of my best friends are Coldfusion Devs from past) I’d hate to see that die off, but perception = reality and remember that. You can sit there and take it or whine about Microsoft all you like, but we didn’t create this problem and more importantly there was a reason why i simply down tools and went over to Microsoft not knowing a lick of .NET and it wasn’t to get one up on the Adobe/Macromedia crew.
That being said, my inbox is open to any whom wish to adopt .NET :)
—
Regards,
Scott Barnes
http://www.mossyblog.com"
Any thoughts or comments – especially from Adobe, gratefully received…
Posted by Neil Middleton on 12 Apr 2008
FlexCover - Code Coverage for Flex
I’ve just come across FlexCover over on Google Code – which looks like an absolutely fantastic project.
Brought to be by Joseph Berkovitz, FlexCover provides code coverage instrumentation, data collection and reporting tools for Adobe Flex and AIR applications.
To quote the description on the site: "Flexcover is a code coverage tool for Flex, AIR and AS3. It incorporates a modified version of the AS3 compiler which inserts extra function calls in the code within the SWF or SWC output file. At runtime, these function calls send information on the application’s code coverage to a separate tool; The modified compiler also emits a separate “coverage metadata” file that describes all the possible packages, classes, functions, code blocks and lines in the code, as well as the names of the associated source code files."
The site mentions involvement from Alex Uhlmann from Adobe Consulting, which should give the project a massive PR boost.
If you’re unit testing with Flex - and if not, why not? You should check this out. There’s no point in getting 100% of your tests passing if you’re only testing 10% of your code.
Just a quick footnote: I’ve not had a chance to try this out yet, so haven’t commented on it’s current development state. This is very much an early release – so you will probably find issues.
Posted by Neil Middleton on 14 Apr 2008
More Scotch for me...
To replace a previous drop-out from the Scotch lineup, I’m now doing an additional session at Scotch on the Rocks 2008 in June. This additional topic will be covering unit testing with ColdFusion using tools such as MXUnit as well as touching on automation.
So, now my session lineup is as follows:
JQuery in a nutshell
Unit Testing and Automation with Coldfusion
If there is anything that you would like to see covered in either of these sessions, please let me know and I’ll try to incorporate it. If you haven’t yet got Scotch tickets, get some now, before the early bird ends on 30th April
Posted by Neil Middleton on 15 Apr 2008
So, what's coming in Flex 4?
Adobe have published some information on what’s up and coming in the future Flex 4 release (codenamed “Gumbo”).
Although caked in a fairly thick layer of mar-bollocks (marketing bollocks), there’s a load of interesting information in there.
For a start it looks like Adobe are going to try and move away from the default Flex skin that nearly every single app seems to be released with. This is understandable, as currently it’s easy to spot a Flex app vs that of Silverlight, or POF (Plain Old Flash – just made that one up). This will be achieved via some changes to the skinning architecture whilst maintaining backwards compatibility to Flex 3.
Other details are still to be released, but at the moment sit under the headings “Accelerated Development”, “Horizontal Platform Improvements” and “Broadening Horizons”
There’s very little there, but expect some form of code generation tool, possibly some form of frameworks integration (Cairngorm?), possible cross-runtime features (export to other runtimes potentially?) as well as a general spit and polish throughout.
Flex 4 has no dates yet, but as always you can keep up to date on the Adobe Open Source website.
Posted by Neil Middleton on 16 Apr 2008
The end of MXNA?
At the time of writing, it would appear that the Adobe weblog aggregator has exploded in a big mess, and is being moved to some new servers:
It is currently looking like it will be down for some time. Well, so you know, Feed-Squirrel.com is still working fine and aggregating a lot of the same content, so check it out.
Posted by Neil Middleton on 24 Apr 2008
| www.flickr.com |
Archives
Posted by Neil Middleton on 01 Jan 1910
From our portfolio
| www.flickr.com |

