My Fusebox application upgrade experience

I'm doing an integration and upgrade on a Fusebox application which has passed through at least 2 other developers, both of whom I know. There are a few things in the code which look 'wrong' to me but they work. My rule is, if it works, don't rewrite it unless you need to.
As I go along, I'll be noting some of these things and either commenting on them or rewriting them. There are also a few things in Fusebox itself that I'm not so happy with, but as I haven't had a hand in it's development since it was created, any comment I make will fall under either gripes or future enhancements to the framework.

jQuery - Dollar signs and document references

I'm learning jQuery from the ground up and when I learn something, I want to know what is assumed, what has to be explicitly stated, and why one thing is done vs. another. As I go along, I'll be documenting my thoughts both for my own reference and for others who might want to know. Most of these posts will be very short and will seem simplistic to some but at least I'm blogging. :)

Basic jQuery Reference

$("document").ready(function(){})

In the code segment above, the dollar sign ($) is a mask for the jquery function in javascript and is the same as calling jQuery(). Note the capital Q in jQuery and remember that javascript is case sensitive. On the other hand, we'll see that there are parts of jQuery that are not case sensitive. As a basic rule, assume that tags and tag attribute names are not case sensitive while tag and attribute content is. For example br, Br, BR, and bR are all treated the same whole name="Michael" and name="michael" are different.

Continuing on, the "document" reference tells jQuery that it is operating on the called page - the document. As jQuery has nothing else to work on, "document" can be assumed and you can use $() instead. I don't think that there is any advantage or disadvantage to explicitly stating "document". Actually, some people don't even know that "document" is assumed.

ColdFusion 9 and ColdFusion Builder Betas released

Adobe just released the public betas for ColdFusion 9 and ColdFusion Builder. There will be a flurry of posts on what these products do so I'm going to focus on resources to use.

ColdFusion Builder mailing list

There is a ColdFusion Builder mailing list on House of Fusion that is just waiting for you to subscribe. I'm positive that there will be a LOT of talk about what features should be included, are missing, and how the new IDE stacks up against ColdFusion Studio/Homesite (which has been officially discontinued).

Special ColdFusion Meetup

A special Online ColdFusion Meetup event will take place today, Monday, July 13th at 12:00pm (est). While the meeting is slated for an hour, I expect it to go on for anywhere from 3 to 10. :)

ColdFusion Builder extensions on RIAForge

Once you get your copy of ColdFusion builder installed, go over to the ColdFusion Builder section on RIAForge and download some extra tools. The first thing you might want to get is the RIAForge Downloader from Raymond Camden. This allows you to browse and download RIAForge projects from inside of ColdFusion Builder. Another extension of interest is the QueryParam Scanner Extension to search an application for those nasty queries that are missing the cfqueryparam tag.

Ben Forta's sneak peaks

Ben Forta, also known as the ColdFusion 9 mascot Bentaur, has been releasing sneak peaks and code snippets on his blog for the last few weeks. I highly suggest that people head over there and check out what he's been saying.

Fusion Authority writeup

Last but far from lease, Fusion Authority has released a writeup on what's new and important in ColdFusion 9 and ColdFusion Builder. You've sure to learn something from the article that may be missed from other sources.

Examining my ColdFusion job search

My post on "Are there really ColdFusion jobs?" got a comment which was echoed by Sean Corfield on his blog (ColdFusion Jobs? Really?). It seems that I didn't answer my own question. In truth, I was using it as a jump off point but looking over the job attempts I've had recently, there are lessons to be learn in all of them. I'm not including things like my ongoing ColdFusion / SEO contract nor the emergency, server on fire calls I get. I'm only looking at the things I've actually sent my resume to:

  1. A mid term city contract - This is through a nice headhunter and is a waiting game. City contracts can take a long time, from the initial call for resumes to finally choosing someone to finally starting up the job. Advice: Learn patience
  2. Another city contract for some basic maintenance of a site with a few added features. The department was moving to .Net and wanted their current application to reflect some of the new features that would be in the final system. I was called in as a last minute, emergency resume by the same headhunter as above. When I was interviewed, the person must have been reading off of a script, and some of my responses were not the scripted, expected ones. In addition, I offered some advice for the server, trying to be helpful. I'm betting all of that lost me the contract. Advice: Learn when to shut up and just answer the questions simply. There are times when the interviewer expects open creativity and times when he expects set, standard responses. Know which time is which and control yourself.
  3. A perpetual request from an ecommerce company who really wants to pay the rate of a kid right out of college. I don't even bother sending my resume to them, especially as I know them and they always want to pay nothing, even for emergency contracts. Advice: Know when to walk away.
  4. A contract or two which I sent my resume into a few days after it was posted. Some really nice ones which I'm sure had been jumped all over in the first minute. Advice: you snooze, you lose.
  5. A contract which was mislabeled as being in NY but was actually in another state. The interview was quick and nice but the bottom line was that I would not move and the posting was in error. Advice: It's not your fault if the ad is wrong.
  6. One or two perpetual ads listed on multiple sites which are probably headhunters fishing for resumes. I bit. Advice: Sometimes an ad is just bait.
  7. Another ad or two on a site which required signing up and signing in. This is a bigger scam than the resume fishing. The more 'real' people that sign up to a site, the more that site can advertise as reaching. The site can also advertise as having X number of resumes on file. It's resume fishing plus. And I've never gotten a response from one of those types of ads. Advice: A scam is a scam is a scam.

There are also ads that I've seen which I have not pursued due to what I perceived as a lack of skill. I don't think I have enough .Net skill to take a ColdFusion to .Net transformation project. Of course, I'd be morally against such a contract unless I was in danger of losing a limb or the like. Just because a contract asks for every skill in the book doesn't mean you actually have to have them. Putting into your resume or cover letter that you are "familiar" with a language or technology may get you the job. You don't have to be an expert in everything. You just have to judge when a job will need familiarity and when it will need real knowledge. Advice: Know what you know well and what you know not so well.

Finally there have been a few ads that I didn't send a resume to but did contact about location. A New Jersey job right across the river from New York is reachable by public transportation. A job in the New Jersey Pine barrens is not. I just missed a job in Staten Island because I waited too long thinking it was not reachable. It was actually a lot closer than I thought. Advice: Know where things are.

Again, these are just my suggestions based on specific cases and I'm positive that there are sites out there with this advice and more. Now all I have to do is find the time to look for and read these sites. :)

Are there really ColdFusion jobs?

Are there really ColdFusion jobs out there or are they teasing us?

As of today, I'm married 14 years. This means that I've been using ColdFusion for 14 years and 1 week. In those years I've done everything from create some of what is considered best practices to helping build a framework to consulting with Allaire and Macromedia on the development of the language. Basically, my resume is stacked with ColdFusion. So if this is the case, why can't I get a ColdFusion job?

Let me rephrase that. Why are there so many ColdFusion jobs out there that never seem to be filled even though qualified people post to them? I've seen jobs come up on job boards and I've seen people post to them (sometimes including myself). I've seen the same jobs come up again and again, week after week, even after resumes are sent in. So what's up? Are the resumes being ignored? Is there a sinister plot out there to make ColdFusion job hunters feel rejected?

Rather than suspect that people are against us, lets instead wonder if we're to blame. Most job postings request one or more of the following:

  1. Job Requirements
  2. Current Resume
  3. Salary Requirements
  4. Cover Letter
  5. Code Sample

Job Requirements

Just about every job posting has requirements. It's not enough to be skilled in every requirement the job mentions, you have to explicitly state it and give examples. Do you know SQL? Then make sure one of your resume items mentions the SQL work you've done. Also, make sure your resume's skill set not only says SQL but mentions specific, high level features such as stored procedures. Assume that whoever is reading your resume can not make any assumptions.

Current Resume

Many of us have not updated our resume in a while. We may only list full time work we've done along with a vague "consulting" instead of detailing every contract. We may also list things that are outside of direct work, such as sites we do for free or as a community service. This isn't good enough. Every resume sent to a job has to be unique. Some past jobs should be removed. Others should be exemplified. The resume should read like it was written specifically for the job...because it was.
Oh, and if a job posting says to send your resume, send it. Don't include a link to is in Google Docs or on a site. If they're expecting an attached document, make sure it's there.

Salary Requirements

This tiny little feature is usually skipped by many job respondants. They either have no clue what to ask, are afraid of giving a number, or are too focused on the other parts of the job offer. My advice - Never skip this and never under bid. Judith just missed an editorial contract because she gave a realistic assessment of what the job would require and what it would be worth. The message she got back was that her offer was too low. If you're a professional then it's better to overbid than underbid. This shows them that you think your worth it and gives you room to negotiate. Just don't go too far over what you think is expected.

Cover Letter

This is where I usually fall down. What do you say in a cover letter? Hi, I want this job? Rather than hear me speak about it's requirements, let me have Judith tell you what she thinks.

Judith's words on Cover Letters

Cover letters are more important than most people realize. They are the best way to make a first impression and distinguish yourself from the job-seeking horde (your competitors for the job). A cover letter must pull your reader in and convince him or her that you are something special. It's your "elevator sales pitch". It should be short (no more than three paragraphs maximum) and targeted to the specific job. It should highlight what makes you, the job seeker, the best candidate for this job. It should make them want to read your resume. Many recruiters read the cover letter and don't even bother reading the resume if they're not impressed.

Code Sample

This is the one place where technical people fall down. They want to send some sweet code that just makes them look like God's own prophet. Well your holiness, think about it first. Does the code have anything to do with what the job post is about? Are they looking for a SQL guru and you're sending them the most perfect site scraping code around? As with the current resume above, make sure they're getting a code sample that fits exactly what you think they want. Take it one step further and try to make the code sample solve part of the job requirements. It'll make them think they're getting a bargan as you've already done the same type of work.

In Closing

This is just the tip of the iceberg when it comes to resumes and if you're looking for a job you should read up on how to write an effective one. And to paraphrase Chris Rock "If you have to give a friend a ride, get a white (collar) friend". You should never send off a resume without having someone else look at both the resume and the cover letter to make sure it fits the job. And finally, to quote Rodney Dangerfield "When you're using the name, don't give it a bad name". You're representing ColdFusion when you respond to a job. If you look bad, it reflects on ColdFusion and its users in general.

Wrong ColdFusion Religion

This is a realization that has been thrust upon me over the years. I belong to the wrong ColdFusion religion. My religion is that ColdFusion was designed for clean, understandable applications written in a quick and easy style by people of all levels of programming skills. This is NOT the current religion of Frameworks and OOP.

I was burnt a while back when daring to suggest that a framework could be altered to fit a client. I see that I was right then and I feel I'm still right now. I'll use a framework when it's required and will only use parts when they're required. I'll use OOP when it's required and only parts when they're required. I'm not going to accept the dogma that says that frameworks and OOP are the one, true way to go.

And the new golden child, ORM? Well I'll use it when it looks right for a project and reject it when not. And when (not if) this opinion gets people upset, well...too bad.

Yes, the above is a rant and one that's been sitting in reserve for years. It was true then and is even more true now.

CFML Builder by Railo

Pure Speculation

This is not reality. This is simply speculation. By looking at a few logical points, one can easily trace a path from Mark Drew and CFEclipse to a new open-source editor produced by Railo Technologies. As of now, such a product, let alone a concept, does not exist.

Points of Logic

The speculation leading to an open-source CFML editor follows a few simple points of logic:

  • Mark Drew is currently the driving force behind CFEclipse.
  • CFEclipse is an open-source CFML editor built on Eclipse
  • CFEclipse has kind of stagnated due to the need for development resources.
  • Mark Drew now works as the CEO of Railo Technologies UK.
  • Railo is an open-source CFML engine produced by Railo Technologies.
  • Adobe is creating a ColdFusion editor based on Eclipse code-named Bolt.

Tying It All Together

If Railo Technologies decided to put some resources behind Mark Drew with the express purpose of expanding out CFEclipse, they could easily do so. Such a product, which we'll refer to as CFML Builder, would be quick to market simply because it's built on a pre-existing codebase. This would be an open-source equivalent to Bolt, much as Railo is an open-source equivalent to the ColdFusion server.

How Do We Make It Happen?

As this is all speculation, we have no idea if Railo Technologies is actually doing this or not. But we can convince them that this is a good idea. Contact them. Ask them if there's any thought of such a product. Don't badger them, but put the idea in their heads. If 1,000+ ColdFusion programmers all ask about such a product, the chances of it becoming a reality are greater. The idea here is to show them that this is something that the community desires.

What I Want Out of It

I'm an unabashed HomeSite user. I've tried to use CFEclipse over the years, and just could not get into it, especially as it didn't do what I needed. If a few simple things were added to an editor, I would move. The main thing I use in HomeSite is the right-click Expression Builder. After that, I use the tag wizards and the help. I know all the tags; I know all the functions. But for some obscure ones, being able to see the exact spelling or arguments is useful. The ability to see things like the format options for dateformat(), timeformat(), and numberformat() is also a big reason for using the Expression Builder. I'm sure others have specific features of HomeSite which they truly enjoy, and you can find numerous posts from ColdFusion-Talk and various blogs discussing it. On the whole, I don't see the features that I want as being insurmountable, and I'm sure the features that others want would also be rather simple to put in. All that's needed is the resources to make it happen - resources that Railo Technologies could provide.

Adobe ColdFusion IDE announced

Ben (Forta for those that don't know) just announced that Adobe will be releasing an official IDE for ColdFusion, codenamed Bolt. Yes, official and yes from Adobe. You know, the people that have been accused of not caring about ColdFusion.

Yes, ColdFusion is still alive and those tech pundits that think otherwise will have to start singing a new tune.

You can sign up for beta access at the Bolt section of Adobe Labs. You can also sign up for the beta of the next release of ColdFusion (codenamed Centaur) at the Centaur section of Adobe Labs.

Fusion Authority will have an article up about this real soon.

The subtle pen, the invisible editor

I am the subtle pen, the invisible editor. Few know me for my work but it touches many without their knowledge. I do not have the professional editorial eye of Judith or Dana and they rarely leave me anything to do. My eye is for the small modification to a sentence, the missing word that helps connect someone to what their reading. My eye is the eye of others and how to make what they are reading comfortable. My eye is unseen but watches all that we print.

Discredited magazine publisher at war with Adobe

A discredited and SYStematically CONniving magazine publisher has fired yet another salvo at Adobe today in their usual manner. This involves taking a blog post, re-branding it as coming from their "news desk" and altering the title to fit their vendetta. The post in question was BlueDragon Open Source - Launch Date Announced by Alan Williamson about how the New Atlanta team is working hard to get a public release ready for display at cf.Objective() 2008. Informative and straight forward. The re-branded version had the same title with a single alteration, a prefix of "ColdFusion Killer".

At no time did Alan say anything about the open source BlueDragon being a ColdFusion killer. It's not something that's been said by anyone...other than the publisher in question.

Really guys, this is getting old and stale. Just because Adobe stopped advertising with you doesn't mean you have to commit fraud to get back at them. Lame.

More Entries

BlogCFC was created by Raymond Camden. This blog is running version 5.9. Contact Blog Owner
House of Fusion | ColdFusion Jobs @ House of Fusion | Fusion Authority