Download Firefox -  a safer, easier to use web browser. Return to - Leap into the online experience! Return to - Leap into the online experience! - Leap into the online experience!

Project News :.

The latest project to launch was the site for Gorilla Offroad Company. Aside from their main site, a social media strategy was develop to launch the company into various industry specific automobile enthusist discussion board communities as well as popular social media fronts like Facebook, Pinterest, and Twitter.

Valid XHTML 1.0 Transitional

Valid CSS!

Section 508 Compliant

powered by: Macromedia ColdFusion MX

made with: Macromedia Dreamweaver MX

What is RSS

XML - often denotes RSS Feed information.

Macromedia - ColdFusion Programming
white horizontal rule

ColdFusion News :.

To bring a little life to my site, I've pulled a couple What is RSS Feeds into this page. You can currently choose between the technology related news stories from the following news sources:

You are currently viewing and RSS Feed from

Check out FormKeep, another option for static sites
Over the past year or so I've been playing around with static site generators. After nearly fifteen years spent building dynamic web applications on the server-side, a simple solution involving a static site generator can be pretty darn appealing...
(Fri, 21 Nov 2014 16:00:20 GMT)
[view article in new window]

ColdFusion Startup Issue with Hostname
So - this is kind of crazy. Yesterday I fired up ColdFusion 11 to test something and discovered that every request for a CFM returned an error. The error was a Null Pointer Exception so not terribly helpful. (Or so I thought.) I checked the logs an...
(Fri, 21 Nov 2014 10:00:21 GMT)
[view article in new window]

Unbinding Scope.$on() Event Handlers In AngularJS
Ben Nadel looks at how to unbind Scope.$on() event handlers in AngularJS since there is no .off() method on the Scope chain....
(Fri, 21 Nov 2014 10:00:17 GMT)
[view article in new window]

create a Milestone in MS Project 2013
Milestone is used to show key points in the project Production deployment date, customer Approval, Payment date etc.

- Milestone do not have any time duration that is duration column will always have 0

Steps to create a milestone.

1. First select the task where you want to create milestone. e.g. we want to create a milestone above        "Choose new location" task so just select "choose new location".

2. Go to Task tab then in Insert Section click on Milestone.

Just type the name of the milestone let say "Project Scope Approved."

We need to link this milestone to show that this task is achieved. e.g. if requirement is reviewed by management and they provide approval in that case "Requirement Approved milestone is approved."

How to link two task , Please see my tomorrow's post.


(Fri, 21 Nov 2014 00:00:10 GMT)
[view article in new window]

Blog Migration Update
Just a quick note. I've mentioned that I'm in the process of migrating the blog to a new platform (Wordpress). As part of that migration, I've went ahead and switched to Disqus. I'm still working on my export script (I'll share that when done) and ...
(Thu, 20 Nov 2014 20:00:20 GMT)
[view article in new window]

Using Plupload With Amazon S3 And Imgix In AngularJS
Ben Nadel looks at uploading files to Amazon S3 using Plupload; and then, using Imgix to generate on-the-fly image thumbnails using pre-signed S3 URLs as the "origin" resource....
(Thu, 20 Nov 2014 10:00:20 GMT)
[view article in new window]

Railo "unexpected" behaviour: opinions solicited
This will be one of those really quick ones as I have precisely 19min of lunchtime left to write it.

Ryan Guill found some oddness with Railo yesterday, with code like this:

function tikiOtinga(required string s required numeric i){

(his example wasn't in Maori, but hey).

Can you spot what's wrong with it?

Here's a call to the function, and its output:

function tikiOtinga(required string s required numeric i){

tikiOtinga("Whā tekau mā rua", 42);

Erm hello?

OK, look more closely and the function spec:

function tikiOtinga(required string s required numeric i)

It's missing a comma.

So how does this even compile, and what is it doing? The same code on CF gives predictable results:

The following information is meant for the website developer for debugging purposes.
Error Occurred While Processing Request

Attribute validation error.

A duplicate attribute REQUIRED has been encountered. Attributes with the same name cannot be provided more than once.The CFML compiler was processing:

  • A script statement beginning with function on line 3, column 9.
  • A cfscript tag beginning on line 2, column 2.
The error occurred in functionMetadata.cfm: line 3
1 : <cfprocessingdirective pageEncoding="utf-8">
2 : <cfscript>
3 : function tikiOtinga(required string s required numeric i){
4 : writeDump(arguments);
5 : }

This is correct behaviour in my view.

Ryan was puzzled, but he found ticket RAILO-2638, in which Micha says this:

Thx for the input and the effort for this ticket, but i'm sorry, i have to disagree.
This way you simply declare hints.
add the following to your testcode and you will see:
you define named hints without a value, do the following code and it will be even more clear
function a (numeric a,numeric b,numeric c numeric="Susi" d="Sorglos",numeric e)
{ writeDump(arguments); }
btw: ACF acts exact the same way
This is nonsense, IMO. Not least of all because the last statement is not correct: CF baulks at this.

What Micha means is that one can specify additional metadata against arguments (although doing it this way is quite crap, but that is a story for another day), but - on ColdFusion anyhow, it knows an error when it sees it: one cannot have metadata keys that are "reserved" values.

This simply should not compile.

Note: this doesn't compile even on Railo:

<cffunction name="tikiOtinga">
<cfargument required="true" type="string" name="s" required="" numeric="" i="">

(which is directly analogous to the script version).

I think whilst one might be able to specify additional metadata fields on an argument, one should not be permitted to use keywords as their names in this context.

CF gets it right: Railo gets it wrong.


(Thu, 20 Nov 2014 09:00:20 GMT)
[view article in new window]

Weekend quiz: ChrisG's answer (CFML)
OK, now I'm gonna look at each person's submissions for the quiz ("Something for the weekend? A wee code quiz (in CFML, PHP, anything really...)").

Chris has done a CFML version. He was very quick off the mark, and had his submission in before I varied the rules, so this one just solves the initial challenge which is to find the longest subseries within a given threshold, but does not consider equal-length longest subseries. Fair enough.

Here's the code:

function getSubseries(series, threshold){

* Setup a subseries container, to be replaced whenever a longer series is
* found. As well, let's calculate the length of the original series to avoid
* doing it repeatedly with every iteration of the following for loop;
var subseries = [];
var seriesLen = arrayLen(series);

* Setup two for loops, the first to keep track of the start index (a) and the second
* will be used to keep track of the end index (z). We'll increment through each start
* index then reduce the array from the end, replacing the subseries whenever BOTH the
* sum is <= threshold AND the array length is greater than the length of the value
* currently stored there.
for(var a = 1; a <= seriesLen; a++){

var z = seriesLen;
var buffer = {
'array' = [],
'sum' = 0

for( z; z > a; z--){

buffer.array = arraySlice(series, a, z-a+1);
buffer.sum = arraySum( buffer.array );

if( buffer.sum <= threshold && arrayLen(buffer.array) > arrayLen(subseries) ){
subseries = buffer.array;




He also provided unit tests, but I ran this through my lot:

It's fair enough the latter two tests break, as he did not code for those ones, but there is a slight glitch there with the "should return elements if there are any within the threshold" test.

I found the reason for this fairly quickly: there's an "off by one" error in his code. This:

for( z; z > a; z--){

Should be this:

for( z; z >= a; z--){

I guess my test is mislabelled: it should be "should return a match from a one-element array".

Thinking about edge cases, this prompted me to add another coupla tests to my test suite:

it("works when the subseries is equal to the threshold and is at the beginning of the series", function(){
series = [100,100,100,100,100,100,600,150,150,150,150]
result = getSubseries(series, 600)


it("works when the subseries is equal to the threshold and at the end of the series", function(){
series = [600,150,150,150,150,100,100,100,100,100,100]
result = getSubseries(series, 600)


These test that the subseries is correctly extracted if it's at the beginning or end of the series. Chris had these tests in place for his own code, but neglected to have the single-element test.

And [phew] my version passes all these tests still.

Back to Chris's code: other than the slight logic error, the only thing I'd observe is from a clean code perspective. The first big comment is unnecessary in my view: the code speaks for itself. On the other hand the second comment is necessary because the code doesn't speak for itself: the variables a and z are very vague. If they had decent names: subseriesStartIndex, subseriesEndIndex then the code would speak for itself, and the comment would not be necessary. I'm also not sure having the separate buffer variable is needed. I had to survey the code to work out why it existed, and in the end it serves only as a container for two other variables (and the sum variable is probably not needed anyhow, although I can see a case both ways for this). If I was to be using intermediary variables to make the code clearer, I'd perhaps change this:

buffer.sum   = arraySum( buffer.array );

if( buffer.sum <= threshold && arrayLen(buffer.array) > arrayLen(subseries) ){
subseries = buffer.array;

To be this:

var withinThreshold = arraySum(buffer.array) <= threshold;
var betterLength = arrayLen(buffer.array) > arrayLen(subseries);

if (withinThreshold && betterLength){
subseries = buffer.array;

But, realistically, there's not much in it.

The thingt o remember here is that if you find yourself writing a big narrative comment: your code probably needs clarification or refactoring. Try not to have comments in your code: "Comments in code: avoid if possible".

OK, that's enough. Next up is Dave White's Python effort. I'm perhaps not going to be so analytical about Dave's effort as I do not know python from a bar of soap. But perhaps this will be my "in" to examine it a bit.

It'll take me a coupla days to survey Dave's code, so hopefully I'll get back to you on Saturday with some feedback. Oh... there's rugby on Saturday (Ireland v Aussie). Maybe Sunday then.


(Thu, 20 Nov 2014 03:50:20 GMT)
[view article in new window]

Change Column Settings in MS Project 2013

We can change few column setting like we can show different title for a field name .

e.g. if a field name is Start date then we can show as Planned Start date or anything else.

Also we can align column header as well as we can align column data.

Also there is a Best fit option which change the column width as per data in the column .

To Apply all those above option , right click on column header and select "Field Settings"

Wrap text in a column
Let say your column width is very small however you want to show full text of that column in that case we can wrap text apply by just right clicking on the column heading and choose Wrap text.

(Thu, 20 Nov 2014 00:00:07 GMT)
[view article in new window]

Adobe ColdFusion 11 Support for cfhtmltopdf (PDFg) on Linux

Many of you would like to know if ColdFusion 11 provides support for the new PDF Generation Service (cfhtmltopdf) on Linux.

Yes, we have provided support for PDFg on Linux since May 2014 shortly after the ColdFusion 11 release.

The supported Linux environments are listed in the ColdFusion system support matrix here.

Please note the additional requirements for using this feature on Linux documented here.

At this time we do not support this feature on Mac or Solaris environments.  The recommendation is to utilize the remote capability of the service installed on a supported platform.  

(Wed, 19 Nov 2014 18:00:08 GMT)
[view article in new window]

© The connection to the CFBLOGGERS_FEED's RSS feed has timed out - please try again later. We are sorry for any inconvenience this may have caused.