A Question of Speed

I have been doing some code review lately and am seeing quite a few cases that look something like this:

<cftransaction>
<cfloop from="1" to="#arrayLen(aData)#" index="i">
<cfquery ....>
<!--- insert query --->
</cfquery>
</cfloop>
<cftransaction>

You have a structure with some information in it and you are looping over the structure and adding the data from the structure into the database. No bid deal right?

Well you probably won't be surprised to find out that having a loop around the cfquery tag forces the Coldfusion server to execute that query N number of times, where N is the size of your array.

So what can you do?

[More]

It's a BOY!

It took a little longer than we expected but on May 7th at 14:30 we were finally able to take the newest memember of our family home!

Here are his stats:

[More]

Unit Testing Functions that Access Web-Services

Sorry about the title but I couldn't come up with anything shorter to describe the topic.

Background

The system we built for our client makes use of an external 3rd party web-service for certain data. Naturally there are a number of things that can happen which we need to handle gracefully.

  1. Web service not reachable
  2. XML returned not well formed
  3. Data doesn't conform to business rules (e.g. old data, incorrect datatypes etc)

Unit Testing

So how do we make sure that our code handles the above cases gracefully and correctly? We don't have the ability to influence the web service nor are we able to ask the provider to force the above cases just so we can test our code.

[More]

TIOBE Reconsiders

After writing my post yesterday about Coldfusion being removed from the TIOBE Index I decided to send an email to TIOBE to question their decision and ask them how they justified their actions on clearly inaccurate information.

This morning I received an email from TIOBE inviting me to check out an addition to their FAQ.

# Q: Who is Richard Bremner? (Bonus question only for this month, especially for the ColdFusion community)

[More]

jQuery UI's new home

Yesterday JQuery announced that they will be including the previously unreleased jQuery effects suite "Enchant" into jQuery UI.

Additionally jQuery UI can now be found at UI.jQuery.com with a really great UI not surprisingly.

I had to right click on the demo page to be sure I wasn't looking at a Flash scroller. Although quite a few of the demo pages were still showing "Under Construction" place holders (I thought that went out of style in 98?), the demos that are available are really good.

You will also notice the design has a particularly Liferay feel to it, it is after all sponsored by them.

Adobe Feeds: MXNA Relaunched

Yesterday Adobe replaced their aging and sometimes slow MXNA feed aggregator with a new and improved Adobe Feeds.

Upon visiting you notice immediately that is a heck of a lot faster than it used to be. According to Ted Patrick MXNA went from a single server architecture to one with 7 servers with feeds.adobe.com.

It's really nice to have it back up.

TIOBE: Coldfusion not a Programming Language

I learned today in this post by Ben Forta that TIOBE has declassified ColdFusion as a programming language, meaning that Coldfusion (who recently improved it's rankings to place in the top 20) has been completely removed from it's index including historical references.

According to a news flash on their website:

Richard Bremner pointed out that ColdFusion is not a programming language. It is a framework comparable to JSP and ASP. As a consequence, ColdFusion has been removed from the TIOBE list. All its history has been deleted, which means that the history of the index has changed a bit as well.

As Ben Forta said: "I have no idea of who Richard Bremner is, or who made him the authority on the subject, but ... he's either mistaken, ignorant, or some combination thereof."

I agree with Ben on this one for sure. I understand removing ASP and JSP as they are "parts" of VB and Java respectively and are not in and of themselves programming languages.

I can only assume at Mr. Bremner reasoning in saying that because CFML compiles into Java bytecode it is not a distinct programming language.

But by that reasoning of course all "programming languages" are merely frameworks built on top of the Binary language.

Escape to be Safe

Every once in a while this comes back to bite me when working with Ajax and creating the JSON return data by "hand". Just last week I had a strange problem with a lazy loading Ajax tree; one of the nodes stopped loading the children.

I check what my cfc was returning and it looked OK on the surface. On closer inspection I noticed that a user added quotes where I didn't expect them to be, which leads to another issue with users and that is: always expect the unexpected!

[More]

Adobe Air Resources

I stumbled upon a post by Jason Bartholme titled 101 Adobe AIR Resources to Add to Your Toolbelt of Awesomeness.

He gives a pretty good list of resources for learning about AIR including tutorials, example applications, Bloggers, and articles.

I thought I would pass the find along.

Happy Coding...

Curl VS Adobe Air

On April 14 Infoworld released an article titled "Curl moves to take on Adobe Air in offline RIA business".

The article introduces Curl as "the latest vendor looking to garner part of the expanding offline RIA business". Curl also claims to provide an engine that "provides high performance, rich graphics, enterprise security constraints that enterprises need to run RIAs on the desktop."

Curl further claims that they offer stronger performance than AIR. Typically claims like this are substantiated in some way with either technical white papers with fancy benchmarking graphs or with executions times and what not.

I decided to head over to Curl and nose around a bit

[More]

More Entries