Shado and ColdFusion Workshop

RailoI’m conducting a Shado/ColdFusion workshop in the last week of January 2011 in Auckland, New Zealand

It is going to cover things like:

  • Developing Shado templates
  • Developing applications using the Shado framework
  • Hidden secrets in Shado
  • Advanced ColdFusion concepts
  • Some Railo tricks/tip

If there are aspects of Shado that you’d like to know more about, do let me know and I can try and cover those areas.

I am still in the process of figuring out the full agenda, and exact dates. But it is going to be a 2-3 day event, in Auckland in the last week of January 2011.

Drop me a line if you are interested in participating.

It’s going to be a very hands-on, practical event and will be loads of fun (as much fun as sitting in a room with other nerds like me can be!)

My CFWheels Presentation at CFObjective ANZ

Had a great time at CFObjective ANZ down in Melbourne.

I presented on CFWheels, a beautiful ColdFusion framework, inspired by Ruby on Rails.

Mine was the first presentation on day one, and in a way it worked nicely as I could then enjoy others with full attention. This is what I covered in the presenation.

CFWheels is a new-ish ColdFusion (CF) framework inspired by Ruby on Rails.

With its emphasis on convention over configuration, simple code organizing principles, a beautiful Model-View-Controller (MVC) architecture, and a pretty neat Object Relational Mapping (ORM) framework, CFWheels brings agility into applications written in CF.

In this talk, Indy takes you through the building blocks of a CFWheels application. He then shares his experience of learning and developing with CFWheels — an experience he thinks every CF developer should go through.

Come, have a listen, and see how CFWheels brings agility into CF development. And how you end up writing beautiful code, while having loads of fun as you develop.

I’ve added the presentation to Slideshare. Have a look.

Using Different SSH Keys for Different Servers

I use Unfuddle a lot for the various projects that I work on.

Yesterday I had a situation where I need to use another SSH key for connecting up to the Git repository at Unfuddle.

Googled and googled… no simple answer. Then found a couple of pages that explained how to do this in such technical terms that it took a while to figure it out.

So this is what you got to do…

(I use Mac so, can’t say if it works on Linux/Windows).

So create a new SSH key. Unfuddle have a good explanation on how to do this. Create a key that does not have the default name. By default the keys are stored in ~/.ssh directory.

Now to use this newly created key with the Git repos on Unfuddle, create a file called “config” in the ~/.ssh folder.

Add the following to the file and save.

Host yourappname.unfuddle.com
User git
IdentityFile /Users/yourfolder/.ssh/yourcustomname_id_rsa.pub

Oh and by the way, Unfuddle takes a few minutes to register the ssh key added in your account section.

CFWheels – Rediscovering beauty in CF Code

I haven’t been blogging much of late. Lots of traveling and work kept me away.

During this time, however, I have somehow managed to find time to play with Wheels. And I must say it has been a pleasure working with it.

I’ve dabbled with Ruby on Rails and Grails in the past and have always lamented about the fact that the frameworks in CF do not possess the same beauty and elegance.

Well, CFWheels changes all that.

If you ask me, I’d say that all CF developers should at least try it out to once to see all that it has to offer.

Personally, I like they way the MVC architecture is implemented in CFWheels — pretty much like Rails/Grails. Plus domain modeling and  URL rewriting using routes — leading to very nice, readable URL. And not to mention time-saver features like view helpers that let you build nice views and forms and add validation to them. And also the plugins… And also the provision for different environment like design/development/test/production.

I’ve tried it on Railo and it is blazing fast. I’m sure it would be as quick on CF9.

I could go on and on. But it is simpler for you to simply head over CFWheels to discover the magic.

Case-sensitive assertEquals Assertion in MXUnit

If you use the MXUnit testing framework for ColdFusion, you might have come across this earlier — the assertEquals assertion is case-insensitive.

This means that if you try and compare a string like ‘abs’ and ‘Abs’, assertEquals returns true.

And that is ok in certain cases, but is not ok in many other. I guess it boils down to the fact that at the end of the day, ColdFusion is case-insensitive. A variable called ‘firstName’ is the treated the same as ‘FirstName’.

But enough of that.

So how do you test for case-sensitivity in assertEquals assertion?

First I thought I’d write my own assertion. But then there is a much simpler solution. Simply hash the the two strings that one needs to compare and assert that they are NOT equal.

So rather than:

assertEquals("abs", "Abs")

Use

assertNotEquals(hash("abs"), hash("Abs"))

It works quite nicely.

Do you do it differently?

BTW, there some discussion of this on the MXUnit Google Groups as well.