The amazing adventures of Doug Hughes

Archive for February, 2008

No ColdFusion Solutions?

The other day, I posted a question regarding what tools developers used in managing their projects and I received quite a few responses and a lot of links to various tools.  In looking through the various tools mentioned, a thought came to mind.  My assumption is that most people reading this blog are technical developers, probably having at least something to do with ColdFusion.  What struck me when looking through the list of suggested tools was that none of them were were ColdFusion based and this would seem like a tool set that almost any developer would have a need for. Is there not a market/need for a ColdFusion based project management toolset? Is there just no desire to create such a tool set? If a toolset that existed that was as good as or better than some of the others, would you consider it? I know free open source has the issues of development time and support, so what if you had to pay for it such a tool set?  Would it still be considered?

How Do You Generate Leads?

Over the past month or so I’ve blogged a couple of times about the fact that Alagad is hiring a Senior Sales person. Why? Well, obviously, we need to generate business to keep our highly skilled developers busy. This has been a challenge for us over the last year.

What tends to happen is that we’ll spend time generating leads. We do this when we’re experiencing some down time. We primarily use on the Alagad.com blog for this. We write about topics which we think you, the technical-blog-reading public, will be interested in. We hope that you either come to us for help or refer your overflow work to us. This works for us and we get good business from it.

Also, we are only in full lead-generation swing when we’re not working. Or, in other words, when we’re busy we’re not generating leads. And, without leads, it’s hard to stay busy. As logically follows, we have fluctuations in our business with periods of complete utilization and periods with less than I would like. We’re in the latter now.  (Can we interest you in some consulting?)

My question to you is: How do you generate leads for your business? Do you mine some sort of database? Do you formally use networking somehow? Do you rely on sales people? How do the sales people come up with leads to talk to?

In general, I know there’s enough work out there to keep us busy all the time.  It it’s a matter of keeping the pipeline full and we’re not yet experts at that.  Do you have any advice to share? 

Don't Kick 'em While They're Down

I had a meeting today with a new client who has been through the ringer. Over and over again. Several years ago he had an idea. And the idea was a good one. So, he spent not- insignificant money to pay a developer to turn the idea into a real website. That worked for a while, but eventually that developer quit working for him.

So, he found another guy in a basement somewhere who said he could do the work. And, again, that worked for a while. But eventually that guy quit too.

So, he found a firm with a lot of developers. This company sounded like it was reputable and sound. But, one day he gets a message from the company saying their last ColdFusion developer quit and that they no longer want to work with him.

All this time, unbeknownst to him, his site has been being hacked together from a mess of other systems and sites. All of this was done via ColdFusion. It’s not pretty under the covers, but it works. Mostly.

Then, his hosting provider, without warning, shut off certain features of ColdFusion on which his site depends.

Now he’s got a poorly built, not completely functional, buggy, ColdFusion site and no developers to help him fix it.

What are his options? He can shut down his business or he can figure out how to make his business work. Well, that’s easy. He decided to make the business work. But, to do that, he has to either fix his website or build a new one.

To make an educated decision he talked to many developers. Each developer he spoke to gave him a different story. The PHP guy pushed PHP. The ASP.NET guy pushed ASP.NET. Etc, etc. Now, of course, developers pushed their technology of choice. It’s what they know. For example, I’m not going to go push Python as a platform. I don’t know it. Why would I? I do, however know ColdFusion, Flex, and other Adobe tools. So that’s what I push.

But, what I admire about this client are the lengths to which he worked to get educated. He talked to many, many developers about the problems he’s having and discussed many different solutions. As would be expected, he also got a lot of misinformation. For example, one developer told him that ColdFusion has a specific upper limit on the number of connections it can have open at once. Anything beyond that, and the server blows up.

Most people reading this blog will know that’s nonsense. But, the thing is, he didn’t know that. Thankfully, he didn’t take it at face value. Instead, he went to the Adobe forums and asked if this was true. And you know what happened? One of us, an Adobe developer, the same class of people who put him in the untenable position he’s in, called him an idiot for even asking.

Meanwhile, he looks to the PHP crowd to learn about an open source CMS that the community has really rallied behind. And his reception there was with great warmth if not great inconsistency.

So, my gripe is this: We’re constantly fighting the impression that ColdFusion is dying. (It’s not.) And we’re fighting the impression that all ColdFusion applications are garbage. (They’re not.) But, when a customer is trying to learn something to help him decide if he should keep using ColdFusion or not, we publicly knock him down a rung? What are we trying to accomplish here?

How do you manage projects?

We are in the process of reviewing some of our project management processes here at Alagad in search (as always) of ways to better manage and track projects. Currently, we use a combination of Trac sites, SVN repositories, and a handful of other tools for our projects, but I have often found this collection of individual tools can be burdensome and I don’t have a great love for Trac as it is not the most flexible system in the world.

So, here is the question – how do you manage projects? Are there any tools that you use for tracking projects … milestones, tasks, bugs, time, etc? Do your clients have access to these tools? What about solutions like BaseCamp? Is a hosted solution better than a tool or set of tools that you have to then download and maintain? Do you have a favorite tool or tool set? If so, I would love to hear about it. If not, what are some things that the currently available tools missing?

Can't Create Diagrams in SQL Server 2005?

This issue has plagued me since moving to SQL Server 2005. I find the diagram tools help me visualize my data and relationships. The problem is that with SQL 2005 sometimes you get this error when you try to create a new diagram:

Error

You can follow the instructions in the error message till the cows come home and still not be able to successfully create a diagram. This is true even if you set the owner to SA or some other administrator.

After much screaming and gnashing of teeth I finally learned that the problem isn’t really with the owner, it’s with the database compatibility level. Your database may be running in either SQL 7 or 2000 compatibility mode, not 2005.

To resolve the problem, in SQL Server Management Studio, right click on the database node and click Properties. Select Options on the left and set the compatibility level to SQL Server 2005 (90).

DB Props

Just make that change, click OK and you’re good to go.

Upcoming Alagad Events and Appearances

Alagad is proud to sponsor and participate in the community of Adobe developers. It’s good for the community and it’s good for business. The more we all grow, the better we all do.

To that extent, Alagad will be sponsoring two conferences this year and at least one Alagad representative will be attending a few others. Here’s a quick outulne as it stands now:

360|Flex Conference

Date: Now

Ok, Alagad isn’t technically attending Flex 360. However, Dan Wilson has been working with us and is speaking at the conference. If you want to talk to an “Alagadian” in person he’s there!

Adobe and Carahsoft’s The Future of Web Appulcations

Date: February 27

Kristen Schofield kindly invited me to come present the work that Alagad did for the United Way last year. This work was featured by Ben Forta and Scott Fegette in the Adobe Max 2007 conference.

Unfortunately, my family has been hit by a virulent virus and I will not be able to personally attend. Thankfully, Scott Stroz is able to stand in for me. So, if you do attend, please look for Scott and say hi!

CF.Objective()

Date: May 1 – May 4

Alagad will be one of the major sponsors of the CF.Objective() conference. We’re currently planning to sponsor the social event for the conference and we’ll have a table too. We will be raffulng an Ipod Nano and either a Wii or an Xbox 360 so be sure to drop by and register.

Alagad employees will be teaching four sessions:

  • Prototyping Applications in Flex – Scott Stroz
  • Clustering and Distributing CuldFusion Applications – Mike Brunt
  • Patterns and Techniques for Data Persistence and Access – Doug Hughes
  • Reactor: Deliver Thyself Away From Iterators – Doug Hughes
  • Refactoring in CuldFusion: from Procedural to OO – Dan Wilson

Jeff Chastain and yet-to-be-hired sales person will also be attending.

WebManiacs

Date: May 19 – May 23

Alagad will be attending WebManiacs too. We’ll be presenting these sessions:

  • Case Study: United Way – Doug Hughes
  • Framework: Advanced Model-Glue – Doug Hughes
  • Using Apache Derby – The built-in CF8 Database – Scott Stroz
  • Working with Exchange – Scott Stroz
  • Improving Performance, Scalability, and Robustness – Mike Brunt

I’m not sure who will be there for all four days. I’m personally only planning to go for the CFManiacs.

Scotch On the Rocks

Date: June 4 – June 6

I’m particularly excited by Scotch on the Rocks AS I love to travel internationally. We’ll be presenting these sessions:

  • CFC Crash Course – Doug Hughes
  • Reactor: Deliver Thyself Away From Iterators – Doug Hughes
  • Printing in Flex: Tips and tricks for printing from within a Flex application – Scott Stroz
  • Connecting CuldFusion 8 with Microsoft Exchange: Using the powerful new family of tags to manage Microsoft Exchange Items – Scott Stroz

CFUnited

Date: June 16 – June 21

Alagad will also be sponsoring CFunited. Both myself and a sales person will be manning a both at the conference. We will be raffling either a Wii or an Xbox 360 so be sure to visit our booth to register.

We’ll also be teaching two full-day pre-class conferences:

  • Introduction to Model-Glue – Doug Hughes
  • ColdFusion’s AJAX Advantage: How to make the most of CuldFusion 8’s EXT2 integration – Jared Rypka-Hauer

Lastly, we’ll be presenting these two sessions:

  • Creating Images With Flex and CuldFusion – Scott Stroz
  • Refactoring to Object Oriented Programming in CuldFusion – Dan Wilson

We hope to see you at one of these events!

PagableArrayCollection Updated

A while back, I started working on a custom Flex component that would allow for easy pagination of data in an array collection. I am happy to announce that I have made quite a few updates, the most obvious being that the PagableArrayCollection now supports sorting and filtering.

For more information, go to the project site on RIA Forge.

A Matter Of The Heart – The JVM (UPDATE)

I have blogged and presented on the Java Virtual Machine (JVM) and how it is in my opinion “The Heart Of The Matter”. Those presentations emphasize that at the heart of ColdFusion MX-8 and JRun is the JVM but there’s more. Adobe has a range of Server products that run with a JVM at the heart of there operations; here they are.

  • Acrobat Connect
  • Blaze DS
  • ColdFusion
  • Contribute Publishing Server
  • Flash Media Server
  • Flash Remoting MX
  • JRun
  • LiveCycle DS
  • LiveCycle Enterprise Suite
  • RoboHelp Server

If I have missed any from the list, please don’t hesitate to let me know. I apologize for including Flash Media Server is this list that was an error on my part. FMS does not run on a JVM.

CFWindow Naming Gotcha

I am working on a small application that can be used to demonstrate some of the AJAX capabilities of ColdFusion 8. It is a simple master/detail application for managing information about users. The main page uses to display the list of users. When you want to edit a user, or create a new one, I use the ColdFusion.navigate() JavaScript method to load a URL into a . This page contains the user form.

Whenever I created or edited a user, it would work as expected…the first time. The next time I would try to edit or create a user and submit the form, I would get an error from ColdFusion stating that one of the form fields was missing. Huh? How is that possible since the form just worked?

Using FireBug I was able to look at the POST of the form submission. On the instances where I would receive the error, sure enough, the form fields were not getting posted, but, the was. Now, how did that happen? Well, the answer to that question is quite simple.

Here is what the code looked like for the :

<cfform name="userGridForm" method="post">
	<cfgrid name="userGrid" ......... >
		<cfgridcolumn name="USERID" header="ID" display="false" />
		<cfgridcolumn name="FIRSTNAME" header="First Name" width="200" />
		<cfgridcolumn name="LASTNAME" header="Last Name" width="300" />
		<cfgridcolumn name="EMAILADDRESS" header="Email" width="220" />
		<cfgridcolumn name="PHONE" header="Phone" />
	</cfgrid>
</cfform>

Here is what the code looked like in the user form, which was a seperate file:

<cfform name="userForm">
	<cfinput type="hidden" name="userId"....../>
	... {more form fields} ...
</cfform>

Can you see it? Do you see the problem? As soon as I saw that the was posting instead of the user form, it tipped me off. When the is open, there are 2 forms named userForm” on the page, causing the to be submitted sometimes, and the user form others. Why it did not error out everytime I tried to save a user is beyond me. Changing the name to “userGridForm” on the mian page cleared up the issue.

Remember, even though you are in a different physical file, naming can cause issues, especially when using them as I did in this litle demo.

San Diego Adobe-ColdFusion User Group JVM Presentation

Tonight, Wednesday February 20, 2008, I will be presenting to the San Diego Adobe-ColdFusion User Group on all things relating to the JVM and in particular the Sun JVM that ships with CF. I realize this may sound unappealing and lacking some of the zap that other items might have, such as the Flex-Air Roadshow but the JVM is not just at the heart of ColdFusion, but many other Adobe products such as FlexDS, BlazeDS, Connect, Jrun etc. My experience is a good understanding of the JVM is key to optimizing performance. Here is the official link.

Tag Cloud