This post is for all you local Omaha folks. My good friend and fellow musician Sean Keith will be playing out at the Sarpy County Fair tonight at 6:00 pm. Sean is an exceptional Christian musician. He's the worship leader at our church and he has a new CD coming in the fall. He's also an all around good guy, my coffee klatch sounding board and sometimes golfing partner. Come on out, grab a corn dog, and listen to one of the best vocal talents I know.
Starting with CF 6, most scopes became structures - objects with members - but in the pre Java days of ColdFusion there were a good many differences in how various scopes behaved. Few things were objects or structures. All those neat little structure functions that are so darn useful when dealing with a scope were not invented yet. Instead we had famously ugly, workaround code with loops using lists and evaluate( ). You might remember the good old CF 4.x days when, in order to loop through form variables, you used the "special" form variable called fieldnames which contained all the form field names. Remember this code?
Read More
ColdFusion guru and all around fabulous guy Brian Rinaldi has put together what promises to be an outstanding conference called RIA Unleased in the Boston area. The one day event is available for only 30 dollars for early bird registrations - that's unbeatable. The list of speakers includes notables like Jeff Tapper, Adam Lehman, Jason Delmore etc. - the "who's who" of the ColdFusion world (and no doubt dedicated Muse readers :). The even has 3 trackes, Flex and Air, Coldfusion and one focused on overall web development. Knowing Brian it will be an excellent event and well worth the effort. If you have the date free (November 13th from 8 am to 5:30 pm) you should consider attending. You can also follow RIA unleased on twitter at @riaunleased.
Last week one of my favorite developers walked into my office and gave his 2 week notice. Ryan Stille has taken a position with another company here in Omaha. We are extremely sad to see him go. Not Dumbledore dying in book 6 sad... but still really sad. I first met Ryan Stille years ago when I started the Nebraska ColdFusion User Group (Necfug.com). He and his co-worker drove to the meetings from Sioux City - about an hour and a half away. I had no idea that this chance meeting would turn into such a long and profitable friendship for me.
A little more than 3 years ago I was looking for an addition to my growing staff and Ryan graciously consented to come on board as a ColdFusion programmer. Ryan has been a tremendous asset to our staff in the time he has been here and CF Webtools has grown with his help and expertise. For one thing, we were mostly a Windows shop when Ryan came on board, but by now we are about half Windows and half Linux. It's no small feat to convince a guy (yours truly) who has made his living as an MCSE to move the bulk of his heavy lifting to Linux, but Ryan's quiet confidence made it a piece of cake.
Here are a few things I learned from Ryan over the years we have been associated.
I hope he shines as brightly for his next employer as he has here at CF Webtools. He will be greatly missed. Actually, it's my fondest hope that he really hates his next place and comes crawling asking for his job back (with a substantial raise of course :). Anyway, good luck to you Ryan. We'll keep track of you on your blog and see you at the user group meetings. Here's hoping you continue to increase in knowledge and experience. I know if hard work and intelligence equal success you will undoubtedly rise to the top wherever you go.
I have one more tip as a follow up to my previous post on Migrating Between MySQL and MSSQL. It has to do with the dreaded "data trunction error". If you have used MSSQL you may have seen this error crop up from time to time. It is a common error and very easy to remedy. The error occurs when you have a character field with a length that is too short for the size of the string you are trying to insert. Check out this example....
Read More
One of the shows I like to watch with my wife and teenage kids is Leverage which stars (as TNT is constantly reminding us in promos) "Oscar winning Timothy Hutton". Actually the rest of the cast is pretty good too. This escapist drama is about a team of skilled criminals who have turned into white knights - taking down fat cats and power bosses on behalf of the little guy. The show reminds me of the slick British drama Hustle.
Normally I like Leverage. It is a fun and quirky romp that doesn't take itself too seriously. There is always a "gotcha" moment where you finally figure out how they make the big score. Unfortunately, Last night's episode "The Tap Out Job" was a huge disappointment in what has been an otherwise entertaining group of episodes. Why you ask? Well it became painfully obvious to me (and anyone else who has visited, driven through, read about, seen pictures of, flown over, or watched "The Tonight Show" before 1992) that the writers of Leverage are either too lazy to do any actual research or they are ignorant, prejudice, and snobbish with little experience outside of a the cocoon of Hollywood. If you want my no holds barred reasons why - read on.
Read More
I recently did an emergency stint of troubleshooting for a site owner (a designer who owned a complex ColdFusion site) who was hit with the HTML injection issue on his site. He had done a good deal of work on his own and cleaned up the HTML as best he could. He was busy moving the sites to a more secure environment (a better hosting company, no more FTP, intrusion detection and solid VPN support). He had managed to travel a long way down the migration path before he ran into trouble. His new environment used MSSQL and his old environment used MySQL.
Now I love MSSQL and I think it is a wonderful choice (price notwithstanding), but had he contacted me before he decided to go this route I would have suggested that he stick with MySQL for the sake of compatibility. Unfortunately he had already "flipped the switch" before I got there and so there was a lot of "on the fly" changes to make just to get his site working correctly again. One of the biggest issues had to do with his choice for migrating the actual data. He had chosen to use an export tool to move the MySQL data into an Microsoft Access file. He then used Microsoft Access "upsize" wizard to send the data to the MSSQL server. The biggest flaw with this approach is that it resulted in missing dates which were not translated correctly from MySQL to Access to MSSQL. So we had to re-export the data in to SQL dumps, modify them and then run them against MSSQL.
The date problem is not a typical incompatibility with MSSQL, but there are several we ran into that we had to account for. Here they are in random order:
Read More
I had a question from a reader who was having trouble with his client variables database. You don't have to be using ColdFusion for long before you learn (or are told) that if you are going to use Client variables it is important to use a database and not the registry. This goes back to the old CF 5 days when client vars could cause the registry to grow to astronomic proportions before anyone would notice.
The solution to Client variable performance has always been to move them to a data source on an RDBMS (MySQL, MSSQL, Oracle etc). The process is all done using the ColdFusion Administrator. It is a bit involved but not difficult.
Meanwhile, having explained the rudimentary steps for adding a client variable DSN my reader is impatience to hear his problem explained - so here goes. He created a DSN named "coldfusion" and used the steps above to insure that it was specified as the client variable DSN. He noticed immediately that the "global" variables were created, but no actual "client" variables were created. In other words, when he did something like "cfset client.user = 'bob'" it had no effect. Subsequent requests indicated that client.user did not even exist. Clearly the records were not being written to the DB.
After some trial and error I suggested that perhaps the datasource name of "coldfusion" was the problem. Why you ask? As a rule I never use what could be a reserve word as a variable or datasource name. I surmised that "coldfusion" seemed to fit that standard so I suggested he create a new alias and try again. As soon as he did the tables began to update. The moral of the story - don't use reserve words for things like variable names or DSN's. Meanwhile, if by some confluence of events and aligning of the stars you have chosen to name your datasource for client variables "coldfusion" and you are scratching your head to figure out why it isn't working - try renaming the DSN.