Featured Post

Super Bowl – Chicago Gives It Up – Snickers Wins!

Even though I am not a regular season Bears fan, being from Illinois I couldn’t help but root for Chicago. They started strong but just couldn’t hold onto the ball. You have to appreciate the Colts though, I think their coach, Tony Dungy, is one of the best and his (team’s) record...

Read More

Follow @dougrdotnet on Twitter

Adobe – Inconsitent View of Open Source?

Posted by dougr | Posted in Adobe, CF, Flex | Posted on 04-04-2008

Tags: , ,

5

Has Adobe’s reaction to the open sourcing of Blue Dragon revealed inconsistencies across product lines related to open source culture?
Last week on The Flex Show Jeffry Houser discussed his displeasure about how the Adobe ColdFusion team had responded to the announcement of New Atlanta’s J2EE open source release of Blue Dragon, the competition to ColdFusion. The main issue which he mentioned was related to the response from the CF team in a ‘negative connotation’ toward open sourcing – this is in the wake of Flex3 open-source releases. The main point was that there seems to be inconsistency of views between the Adobe Flex and ColdFusion Teams. Jeffry spoke that the CF Team Members made such statements as ‘New Atlanta is conceding the market’ and they are ‘abandoning it’ by open sourcing Blue Dragon. Jeffry posed the question ‘Does this mean that Flex open sourcing is conceding the market’ or ‘abandoning it’.
Although Jeffry did not mention any specific Adobe team member names, I was intrigued by his comments and did some looking around to find some articles that seemed aligned with Jeffry’s comments. At the top of the list I found this entry in Damon Cooper’s Blog which discussed the open sourcing of Blue Dragon as a matter of conceding to ColdFusion. There were others, but none quite so pointed as this.
I really just wanted to say that I am quite happy that Jeffry voiced his opinion of the responses to the event as I too feel that it is important for Adobe to maintain consistency in their views about open source across product lines, regardless of the availability of open source projects within a particular camp. I also believe that it would be in the interest of Adobe to release an official statement of open source culture across product lines. Has Flex given up and conceded the market? I don’t think so, why would the CF team take this position?
I would like to invite Jeffry to discuss this topic further, be it here or within another venue, as I think the questions which have been posed are both important and interesting.

ColdFusion: Creating a List Based on Positions

Posted by dougr | Posted in CF | Posted on 25-03-2008

Tags: , ,

0

The example that I am going to run through today results from my need to solve a pretty specific problem. The issue originated from the need to compare data obtained from a user’s selection of states check boxes in which the values of the check boxes were the long state names. This was perfectly fine until I needed to use the same selected data in a query to a different database whose state column was using abbreviated state names. The query results were being returned incorrectly since there were no user-selections matching the list of abbreviated states needed to filter on the selections.
What I needed was a way to compare the abbreviated list to the long name list and get a new list of abbreviated state names based upon the user’s state(s) selection, then I could send this list to the database with abbreviated state names and get the correctly filtered result set.
The way in which I decided to approach this would be to begin by creating two separate lists, one abbreviated and one long name, where each abbreviation was in exactly the same comma-delimited position as that of its long name counter part.
Here’s an example of what I needed to do:




Everybody lines up, no spaces (although you could certainly use trim() later on if you weren’t in control of your lists), each state long name is in the same position in the list as is each state abbreviation position in its respective list.
So in the view I have 50 check boxes, each one representative of a state for which the user would like to get information and each check box holds a long name value. So I still need to check for what the user has selected and then compare that to the long name list and get the position of the matching values so that I can select the appropriate values from the short name list. This is just a simple loop through the check boxes to pick up the selected values. I passed these values in attributes scope onto the model where I put them into a new list named ‘qlist’ for “query list”, using an index loop (notice the single quotes – I preserve them for output reasons), comma is the default delimiter so none explicitly specified. Here is what that looks like:




	


Now that I have my two reference lists and my user input I can go ahead and set up the comparison, get some position numbers and then extract just the values that I want into a new list. I did this with a bit of cfscript, an array, and some for loops:






	for(i=1; i LTE ListLen(longName); i=i+1){
		if(ListFindNoCase(qlist,ListGetAt(longName, i))){
			tempList = listAppend(tempList, i);
		}
	}
	for(i=1; i LTE ListLen(tempList); i=i+1){
		compareList[i] = ListGetAt(shortName,ListGetAt(tempList,i));
	}
	for(j=1; j LTE ArrayLen(compareList); j=j+1){
		newList = listAppend(newList,compareList[j]);
	}


At the top of this block I am simply initializing some variables with default values. The first thing I do inside the script block is to set up an index loop based upon the length of the longName list that will increment on each iteration until the increment var i is less than or equal to the length of the longName list. If within any iteration a position in qlist holds the same value as a position in longName, I then append that position number to tempList for safe keeping. In the next for loop I set up to iterate against the length of my new tempList. I then load up my compareList Array with the shortName values of each position found using the contents of tempList (remember that tempList just holds position numbers). My compareList Array now holds the shortName values for each postion held by tempList and is inserted into the current index of the loop iteration. Now all I need to do is create my new list, I needed a list in this case anyway but the array by itself would be useful too. One more index loop against the length of the compareList array and all we need to do is append the array values into the new list.
Now newList holds the shortName values of the user’s selections derived from the longName list.

Conference: Scotch on The Rocks 2008

Posted by dougr | Posted in AIR, CF, Conference, Flex, Scotch on The Rocks | Posted on 23-03-2008

Tags: , , , ,

0

If I was able to take the time off work (or even better – get work to sponsor my trip) and cross the big water, this is where I would be going! I feel like Mr Bear! Well, there’s no hope for me but maybe you can save the Bear! Scotch on The Rocks ColdFusion conference looks to be a first class event with some of the best ColdFusion Talent out there speaking on ColdFusion, Flex, Application and Architectural frameworks, and much more. Have a look at some of the confirmed speakers below.
Here are some details of the event and a Euro to Dollar currency converter for us Yanks that can’t do the conversion in our heads.

Scotch on the Rocks 2008 is set to be the best and biggest European ColdFusion event of the year. Extended to three days, taking in 45 sessions and attracting 150+ delegates, Scotch is a must attend conference that is sure to enlighten and inspire. With the best known speakers from around the world, taking in not just the ColdFusion community, but also that of Air, Flex and Flash, we promise you won’t regret your trip to Edinburgh.

Topics range from; Introduction to OOP, Using Frameworks, Load Testing Flex applications through to managing Flash Lite data with Flex and Air. Many of the speakers presenting at Scotch are highly visible in the Blogging community, setting the standard as high as possible.

If you’re just starting in the ColdFusion community or have been around for a while, this event is for you. After every days sessions there is the chance to network with fellow ColdFusion, Flash, Flex and Air developers. So what are you waiting for? Scotch on the Rocks has a reputation of delivering on every level for every calibre of developer.

Don’t miss out.

Wednesday 4th to 6th June 2008, The George Hotel – Edinburgh Scotland.

£ 99 + VAT for 1 Day Pass (Wed, Thu or Fri)
£149 + VAT for 2 Day Pass (Wed&Thu / Thu & Fri)
£199 + VAT for Full 3 Day Pass

Prices Valid Until 30th April 2008 then

£149 + VAT for 1 Day Pass (Wed, Thu or Fri)
£199 + VAT for 2 Day Pass (Wed&Thu / Thu & Fri)
£299 + VAT for 3 Day Pass (Wed, Thu & Fri)

Some Of The Speakers:
Sean Corfield
Joe Rinehart
Doug Hughes
Matt Woodward
Scott Stroz
Ben Forta
Adam Lehman
Jason Delmore
Andrew Shorten
Aral Balkan
Peter Elst
Steven Webster
Ali McLeod
Mark Drew

Plus Many More

http://www.scotch-on-the-rocks.co.uk

Ode to Flex and ColdFusion

Posted by dougr | Posted in AIR, ActionScript, CF, Flex | Posted on 12-03-2008

Tags: , , , ,

0

Dearest Flex,
Today I am reflecting upon our time together, given that we are fast approaching our one year anniversary. I remember before we actually met how I would look at you in wonder from across the forum, thinking to myself, “I am going to meet you”. Finally, I worked up the nerve to introduce myself, I waited until the other developers with whom you were speaking indicated that they were away for a moment so that I could approach, after all I was very unsure and quite hesitant to seek a new relationship. I had become so comfortable in my relationship at the time, out of respect I shall only mention her by the initials CF. I really thought that I had a comprehensive view of the world while I was with CF, yet now, after our time together, I realize that I was falling into a procedural pot-hole which was limiting my ability to model the world as it should be – as classes who’s instantiations allow me to make real models from real types. From within this realization I have found that I am now better able to accurately define public var doug:Developer = new Developer();. Flex, it is you who have provided me with this insight.
Remember when we first started hanging together, we’d sit on the couch and experiment, I would take you with me to the coffee shop, the park, and even to work so we could be together as much as possible. None of that has changed, as a matter of fact I feel that our being together has been instrumental in our growth together. Now, look at us, not only do you come to work with me, but we get to work together on projects every day! It is amazing to me that as I have been able to get to know you better how much more time we actually get to spend with each other. Ha_ha, remember that time when you hiked up your skirt so slightly and showed me your ActionScript? I recall my knees getting week and an overwhelming sense of things to come! It was a daunting feeling to me to see you that way and to know that the things which you are capable of were so far from my understanding, yet you’ve taken the time to guide me slowly into learning how to manipulate your mxml and use methods to provide you with better means to fulfill my needs. Of course, this led to a much broader view of the world where I could understand how you love it when I break out the development tools and implement EasyMVC or, for those longer nights of enterprise development, Cairngorm! I know how you love it when I implement Cairngorm. I love that about you, you have the flexibility and breadth of ability to take me from the simple to the complex while helping me to maintain state.
Then came the time when I realized that you held a hidden gem which truly changed the way in which I approached handling our information, you introduced me to remoting and immediately you made me realize that its not just you that I need but that you and I and CF could all be together as one! I had spent so long looking at your front-end virtues that I had neglected to pay attention to what is going on with your back-end capabilities. At that moment I realized just how lucky I am to be able to have the both of you in my life and no longer shall I just refer to CF by initial but by her full name ColdFusion! I couldn’t imagine how things could get any better – but then they did. Up until this time you, ColdFusion and I had always spent our time developing Web-based applications. But now things have changed, now we have a new sense, somewhat like having two homes that we all love to spend time in. Now we have AIR, now we have AIR…. Now we can all deploy locally together. I see this as a new, richer way, for us to be together and continue to learn of one-another and the world. It is at these times in which I feel that I have so much that there is so much to lose. Flex – ColdFusion – I want us to be together always – on the Web – on the Desktop – and in my heart.
I love you Flex and you too ColdFusion (even though, ColdFusion, you piss me off sometimes but thats another story).

ColdFusion Position in Portland, OR

Posted by dougr | Posted in Jobs | Posted on 06-03-2008

Tags: ,

0

A friend of mine with Apex Systems contacted me today regarding a ColdFusion positions in Portland. Kelly wanted to know if I was interested in, or possibly know someone that may be interested in, an Applicaitons Developer position. I love my job and don’t want to go anywhere else but maybe you are looking for something new. Have a look at the details below and contact Kelly if this sounds good to you.

Position Description:

The Senior Web Applications Developer is responsible for assessing client input and creating and building conceptual, compelling and usable web applications, preparing detailed specifications, writing ColdFusion code, designing databases and performing testing/debugging of code to support business processes. Excellent client communication skills are required.

Skill Set: Applicant will have experience in working within a defined project management methodology and with Web application development using Adobe products and Web services. They will also be highly motivated, deadline driven, and have excellent oral and written communication skills.

Additional Information:

Requirements for this position include proficiency developing dynamic applications using ColdFusion MX, JavaScript, Fusebox, SQL Server and Oracle 9i as well as DHTML, AJAX, CSS, XML and HTML. Flash, Flash Remoting, ActionScript and DreamWeaver experience is a plus.

Kelly M. Turner

Technical Recruiter

APEX Systems, Inc.
10220 SW Greenburg Rd., Suite 551
Portland, OR 97223
Ph: 503-293-2900
Fax: 503-293-2919
kmturner@apexsystemsinc.com
www.apexsystemsinc.com
Apex Systems

RoR Learning Paradigm

Posted by dougr | Posted in Ruby on Rails | Posted on 09-10-2007

Tags: ,

3

I just wanted to make an observation about my experience thus far in learning Ruby. I started about a month ago and it has been a bit of a slow start as I have been really busy concentrating on both work and personal obligations. Over the last few days I have finally had an opportunity to focus my personal-development time working through Agile Web Development with Rails. Most of my ColdFusion learning experiences began very basic and then gradually escalated into more and more advanced materials. My learning RoR experience has been quite a bit different. Like learning CF the first couple of chapters deal with some language background, installation, tools, and _of course_ Hello World. But that is were the paradigm similarities part ways. So far Ruby on Rails has been all about – Let’s get in up to our elbows and do something useful. I just turned to Chapter 5, page 53. “We could mess around all day hacking together simple test applications” (Hello Ruby World), “but that won’t help us pay the bills. So let’s get our teeth into something meatier. Let’s create a web-based shopping cart application…” Sweet! I love this no-holds-barred approach to learning. Another thing that I find really cool is that while learning to program in Ruby, I am also concentrating on Object Oriented design along with an MVC pattern framework which uses Active Record Object-Relational Model (ORM). It totally makes sense to present the entire paradigm – opposed to learn a language, discover how bad your code is, become a better coder, discover how structural you are (assuming you want to think in objects), learn about patterns and architecture, become a better coder, find a need for a framework, refactor a bunch of code, become a better coder, etc…. It just makes sense to me to learn correctly in the first place. “Practice does not make perfect. Only perfect practice makes perfect” _Vince Lombardi

Where is CF for our kids?

Posted by dougr | Posted in CF | Posted on 06-10-2007

Tags: , ,

7

Yesterday I found out about HacketyHack, another great site by_why.
This is awesome, a site dedicated to teaching kids to program in Ruby. I
have to ask the CF community to take a look around, I think that there may be a
communal misconception about the overall strength and size of the CF
community. Don’t get me wrong, the CF community is great and I believe it
is growing. I think we need to open our eyes and take notice of the other
platform communities which exist, for instance, Ruby. According to CFUnited,
the 2005 conference had 900+ attendees, I couldn’t find a documented number for 2007 but am sure it was well over 1000. In comparison, RailsConf 2007 had more than 1600 attendees (and also raised over $33,000 for charity by the attendees, oh and Adobe was there and at RailsConf Europe as well). This is all for a community that is less than 5 years old, compared to ColdFusion which is 12 years old. My point is that is seems the Ruby community is investing in itself to a much greater extent than that of the ColdFusion community. Additionally, community involvement centered on next-generation ColdFusion
programmers seems to be lacking – Where is CF for our kids? How can we better introduce programming concepts to our youth, all the while helping to ensure the continuation of our beloved Web Application platform.