Shaun Mccran

My digital playground

05
N
O
V
2009

Scotch on the road 2009 - London session

I had the luck last week of attending Scotch on the road 2009 in the SwayBar, London. There were quite a few sessions crammed into the day of talks, some taking a more technical approach, others a little more evangelistic. In this article I'll cover the points that I found of particular interest.

Firstly I was struck by how well the ColdFusion community seems to be doing over the last few years. There were several comments as to how many more developers and companies are now using ColdFusion as a development language. It really is encouraging to see that ColdFusion still has a place in the modern development world.

The overall focus of the sessions this time around was ColdFusion 9. Obviously with a big release arriving Adobe are keen to extol its virtues as much as possible. The major differences appear to be some major performance increases, and several additions to the existing functionality.

ORM (Object Relational Mapping) Is the newly integrated Java Hibernate framework. This is pitched as a way of speeding up development time, and avoiding writing repetitive getters and setters in your CFC's. The Java engine handles the entire database layer and frees the developer up to write the actual functionality, rather than endless SQL scripts. At its most basic it is a way of mapping CFC's using the CFProperty tags to a database schema. It's an interesting methodology that I hope to test out soon. (This is known as 'Active record' in many other languages.)

Solr/Verity/Sphinx - The Verity search index is still present but has taken somewhat of a back seat to the new Solr search index. This was something that really piqued my interest as we currently use Sphinx to create large full text search indexes. There are murmurings that that there are some performance differences between Verity and Solr, but it would also be very interesting to see Sphinx thrown into the mix. At some point I hope to run some comprehensive tests against the three to see their performance differences under load.

There has been an interesting change to the Eula this time around too. It isn't something that most people look at, but the licensing model has changed slightly. You can now reuse your ColdFusion 9 license on a non production server. This means that it is very cost effective in upgrading your staging or failover servers, as they can use the same license as your live servers. (For legal reasons don't take my word as gospel, this is how I understood Claude Englebert's presentation on it.)

Another very interesting feature of ColdFusion 9 is its ability to expose a lot of its functionality as external API's. You can now expose specific functions of the server, and it is only a slightly different syntax from the traditional cfml code:

view plain print about
1<cfmail to="peter@parker.com"
2 from="mary.jane@damselInDistress.co.uk"
3 subject="Rescue me please" />

4
5<cf:Mail to="peter@parker.com"
6 from="mary.jane@damselInDistress.co.uk"
7 subject="Rescue me please" />

Overall it was a very informative and thought provoking seminar. Fuzzy orange are to be commended on putting on a great day. I'd highly recommend any of their future events, not just for ColdFusion based developers, but for Adobe affiliates in general.

30
O
C
T
2009

Movember - Prostate Cancer Charity month - time to grow a tash

I don't normally 'do' charity, unless its animal charities as I think they get the roughest deal. However this year I am growing a moustache for Movember. I have decided to put down my razor for one month (November) and help raise awareness and funds for mens health, specifically prostate cancer.

What many people don't appreciate is that one man dies every hour of prostate cancer in the UK, more than 35,000 men will be diagnosed this year and that prostate cancer is the most common cancer in men in the UK. Facts like these have convinced me I should get involved and I am hoping that you will support me.

To donate to my Mo, you can either:

  • Click this link http://uk.movember.com/mospace/26347/ and donate online using your credit card, debit card or PayPal account
  • Write a cheque payable to 'The Prostate Cancer Charity - Movember', referencing my Registration Number 26347 and mailing it to: Movember - The Prostate Cancer Charity, First Floor, Cambridge House, Cambridge Grove, London, W6 0LE.

Movember is now in its third year here in the UK and, to date, has achieved some pretty amazing results by working alongside The Prostate Cancer Charity. Check out further details at: http://uk.movemberfoundation.com/research-and-programs.

If you are interested in following the progress of my Mo, click here http://uk.movember.com/mospace/26347/. Also, http://uk.movember.com has heaps of useful information.

Thanks Shaun

28
O
C
T
2009

ColdFusion scoping issues and the Var scope

One of the more common problems with a ColdFusion application, especially when it starts to grow or involves more than one developer is variable scoping, and scope bleed through issues. More recently I have had to re examine the framework of an application, in an effort to track and eliminate any instances of this.

Not properly scoping a variable, IE:

view plain print about
1<cfset myUnscopedVar = "Foo">

Forces ColdFusion to add the variable to the 'variables' scope. This scope is available to the entire template. This is even more important when you consider CFC's and the potential damage that a leaked variable could cause. One of the major benefits of OO in ColdFusion is the encapsulation that it provides. As soon as you start declaring un scoped variables, then you lose that.

Mike Schierberl has quite an in-depth blog about this subject, http://www.schierberl.com, he goes into a great deal of depth about this subject, and he has built and maintains the varScoper project. The varScoper allows you to scan your code base for un scoped variables, and after a quick inspection of its output it seems very reliable. I'm not sure its 100% foolproof, but would be a valuable addition to a QA process.

Changes to the Var scope in Coldfusion 9

I am currently not using ColdFusion 9 in any environment; in fact my hosting company is still on 7! That said it appears that there are some significant changes to the Var scope in ColdFusion 9.

Ben Forta sums it up nicely here:

http://forta.com/blog/index.cfm/2009/6/21/The-New-ColdFusion-LOCAL-Scope

He does touch on an interesting point in the article above. I quite like the structured layout of a CFC, and part of that regime for me is declaring all the Vars at the top of a function. It sort of matches the layout of an Action Script class as well, declaring all your constants etc at the top of the script. It is also a very easy coding standard to adopt and enforce if you are part of a larger team.

24
O
C
T
2009

Android Rss reader roundup

I've been looking at a few RSS readers for the Android platform recently, and some of them have been a bit hit and miss.
So I've decided to put together a quick rundown of the ones I've tried, with Pro's and Con's. So far they have all been uninstalled, but I'll keep updating this periodically as I find new ones.

Update 1: Added Rss Store

Update 2: Added Greed (Google news reader), newsRob

GReed
One of the more popular RSS reader applications if the reviews are anything to go by. I was initially a bit sceptical about using this, mainly because I did not have a Google Reader account (http://www.google.com/reader). I tentatively signed up for one, and installed the application. Much like a lot of other Android content this simply sync's with your online account settings. Add an RSS feed into your Google account, and it will be pushed to your Android phone. This means that you can basically add any feed at all. Its a really easy application to use, it has a clear menu system, it is very easy to see what you have read. You can view the 'latest' feed updates, or view individual feeds, and paging is done through a simple left-right icon system. Highly recommended.

NewsRob
Another application that uses the Google Reader account. Thid application is more basic than GReed. It goes off and gets the headline and the first line or two of an article in the background, so it is actually quicker to load an article. The problem lies in that it only gets the first line, so you have to click through to the related site to read the article. It also uses a lot more battery, I'm guessing due to running as a background service caching the intro to the RSS articles.

PureRss
This is a decent enough looking RSS reader, easily installed and up and running. The display area for articles is very small, and often the link through to a full article did not work. Also did not allow me to find an RSS feed on a site, I needed to manually copy and paste the URL.

AndRead RSS reader
A polished looking application, but most of the functions are in the menu button, which makes it a bit harder to get around. It pre populates a whole slew of categories, and fills them with recommended feeds, none of which I wanted. Also you have to have a 'category' to add a feed to it, which is a little annoying. The main problem with this application is that it didn't get my feeds! I tried three different sites, and it got the headlines, but no article data.

Rss Store
This sounded like one of the more promising RSS readers out there except when you fire it up it is half advertising space. This is a catalogue of pre determined RSS feeds, loosely catalogued under different headings, like business, leisure and sport. If the feed you are looking for is in there, then great, otherwise your a bit stuck. You can search, and add new feed sources, except that they are not actually added. The application logs a request for your feed to be added in a future iteration of the application. To me this is a huge backward step in software development, and is incredibly inflexible. This App came off quickly!

_UNKNOWNTRANSLATION_ /