I heard the new Van Halen single, It's About Time, on the radio this morning. All I can say is "Wow... That song really sucks..." It's got to be the worse song Van Halen's ever written. Not sure how a song like that gets released, let alone released as a single. Is Eddie's ego so strong that people were just afraid to tell him the song sucks? It's a real shame to hear a band that's put out some classic hard rock songs end up doing crap like this.
NOTE:As big of a fan I am of Extreme's work, I never heard the Van Halen album w/Cherone. I know Van Halen fans don't even consider that a VH. I suspect they'll think the same way towards this single.
I made a modification to my component() UDF that I blogged about last year. I basically added a try/catch to spit out a friendlier error message if the component isn't loaded when passing in a relative path.
Ok, in honor of Tim Buntel's new blog, I'm going to start a little series of blog entries entitled "What I'd Like To See In Blackstone." I'm going to start off the series with a feature I've wanted in the language since CF3 first came out and I started using CF-based custom tags, and that's the ability to create a request-based mappings.
I'd love to be able to create dynamic mappings on page request for both the location of custom tags and for general mappings—which would be especially useful for referencing components. What I'd love to see is a syntax like the following:
Apparently Ben Forta has finally convinced Tim Buntel, product management for ColdFusion, to open up a blog covering Blackstone—the next version of the ColdFusion product.
There's nothing much but an introduction and a picture in the opening post. Hopefully Tim will make this a good source for what's coming in Blackstone—the good stuff only known by those currently under NDA.
I had to fill up my 4runner this morning. I like to keep premium in the tanks, and "premium" sure is the right word for that gas, 'cause that's what it costs. I paid $2.33 a gallon for gas today. That's just ridiculous. I need to get into the Oil business.
My dad was in town for some blood work today, so we hooked up for lunch. We decided to meet at El Vaquero's—which is one of the best spots in Columbus to get good authentic Mexican food. The foods always good there, and they make the salsa and chips fresh. Anyway, it's one of my dad's and my favorite spots to eat, so it was a pretty easy decision to eat there (plus, neither of us have eaten there in a while.)
After lunch, dad stopped over to see the dogs. I think he was a little upset he didn't get to spend more time with them on Mother's Day—as he was stuck working the store most of the day. The dogs smothered him when he sat down on the couch—both of them licking his face vigorously. Nikki was a bit to enthusatic and manage to nip his ear enough to draw blood. She doesn't bite hard but if you pull away when she's biting, her teeth are razor sharp.
Anyway, I was glad he stopped by for the visit.
The dogs decided to play in the mud today. Maddie used to be a Yellow Lab, looks like she wanted to see what it was like to be a Chocolate Lab. :)
I ended up just pulling the hose in from the garage and stuck it out the window to clean them off a bit before bringing them inside. That technique worked suprisingly well.

Women of the 1600s, from queens to prostitutes, commonly exposed one or both breasts in public and in the popular media of the day, according to a study of fashion, portraits, prints, and thousands of woodcuts from 17th-century ballads.
Since Fashion styles seem to go in cycles, when is this cycle going to come back into style? Maybe Janet Jackson was just trying to bring back 17th-century fashion when she exposed her breast at the Superbowl, then again maybe not. :)
Well, since v2 is taking longer than planned, I'm releasing build 138. There's a few fixes that I've made and I've added a couple of useful properties. The highlight of this build is that you can now toggle off validation for a form by setting the qForm object's _skipValidation property to true, the validation rules will be ignored. This will be useful for those users looking for a way to "Save & Exit" from a form, without applying the validation rules. Here's a list of what's changed:
[-] Fixed a bug in the is/validateFormat() method which affected masks
which contained 3 or fewer characters.
[-] Fixed bug in Opera v7.x where single checkbox elements where not
working w/the setValue()/getValue() methods. I had fixed this in
the v2 builds already.
[-] Fixed bug w/validateLengthGT and LT if the value was equal to
the specified argument than no error was thrown (and it should
be).
[+] Added qFormAPI.styleAttribute which allows you to specify a single
property to apply a style change to. This defaults to "backgroundColor".
This provides a quick CSS hack until v2 is released. If you change
the qFormAPI.errorColor to a valid CSS property value you can do
more than change the color. For example:
qFormAPI.styleAttribute = "border";
qFormAPI.errorColor = "1px dotted red";
NOTE: This is experimental at best, you need test in different
browser.
[+] Added obj._skipValidation property which allows you to toggle
validation off/on for an entire form. Setting the property to
true will cause the validation routines to be skipped for that
form object.
[+] Added the validation_addon.js library. At this point, this contains
one additional validation method called validateAtLeastOne(), which
you can use to confirm that at least one field out of a list of
fields contain a value.
As always, you can download the latest version of qForms from http://www.pengoworks.com/qforms/download/.
It seems the Mexican Air Force has released a video of what they describe as a UFO. The video was apparently shot well doing routine checks for drug traffickers.
Mexican Air Force Pilots Film 11 UFOs
Mexico Releases Video Of Objects Surrounding Military Plane
U.F.O. Close Encounter
Ok, I thought I'd compile a little list of Firefox extensions that are useful for any web developer (and a few that are good for any user of Firefox.) For those of you who read my blog, you'll know that I've switched to Firefox as my primary browser—it's just fantastic. Anyway, here's a list of the extensions you shouldn't be without.
Mark Russinovich, over at Sysinternals, has written written a ton of useful utilities—two of which no real Windows user should be without: Process Explorer & TCPView.
Process Explorer is a replacement for the Windows Task Manager's "Processes" tab—actually it really could be a replacement for the entire Windows Task Manager. This program adds some functionality really missing from the Windows Task Manager. First, it can show you the entire command line path to the all the process running. Next, it will show you all the handles and threads opened by the each process—and it's even searchable. This is great for tracking down rogue process or finding out what problems are locking a file down. This is one of the first things I download when a friend is having PC problems. I'll use this to discover various process that shouldn't be running (such as Trojans and Spyware.) It's extremely helpful. Best of all, no fancy install, just download and extact it to your system.
TCPView was designed to show all the open TCP & UDP ports currently on your computer. Just like Process Explorer, all this information is updated in near realtime (for actual realtime spool of your traffic, check out their free tool TDIMon.) With TCPView, you can quickly located what programs may be listening for remote traffic or for what programs may be trying to connect to remote servers. This is especially useful for finding programs that should not be accessing the Internet—such as trojans and spyware.
I first saw Tyson the Skateboarding Bulldog a few months ago. While it was pretty amazing, he really couldn't do much w/a short stage. Fortunately his owner(s) have put up a web page with both some pictures and movies. You definitely need to check out the two movies—they're great. I'd also recommend reading the FAQ, seems the owner's have no clue how to teach your dog how to skateboard since Tyson taught himself.
I came across a post on Gizmodo about the firing of the entire staff of Tech TV. When the merger with G4, owned by Comcast, was announced, I tried to be optimistic about union. G4 really sucks—they just don't have any interesting programming and I just can't get in to any of their programming. I was hoping they combine the programming of the two stations and end up with a better product than just Tech TV only could produce—afterall, there's not much of a need for two computer-related stations. Anyway, it sounds like the majority of the Tech TV programming will go away after this announcement. I hope I'm wrong and that Comcast doesn't screw this up like they're apparently doing. If they can keep The Screen Savers, Tech Live and Fresh Gear groups together, I'd be happy. Unfortunately, I don't think it'll happen—especially if all the employees have to relocate to L.A.
TechTV told 285 San Francisco employees on Thursday that their jobs are being eliminated, a move that was widely feared by workers after Comcast announced in March that it would acquire the technology cable channel.
Comcast will merge TechTV, owned by Paul Allen's Vulcan Ventures, with its own G4 video game network when the buyout is finalized next week. David Shone, a spokesman for G4 TV, said the company plans to hire 80 people from the San Francisco office to work at the game channel's Los Angeles headquarters. Employees were given two months notice and various severance packages, he said.
Apparently there are two online petitions you can sign:
Reverse G4 / Comcast Decision to Fire Entire Staff of TechTV
Save TechTV
I tend to forget just how many commands are built-in to T-SQL. So often the stuff I do in the database is so basic, that I forget that there are often many different ways to approach the same problem and I often just forget that certain functions even exist.
I was reading through my SQL Server 2000 Unleashed book the other night, and came across the COALESCE() function—one of those functions I had forgetten about. In a nutshell, you can provide the function an unlimited number of arguments and the first argument which isn't equal to null will be the value return from the function. The funny thing is, I had been trying to debate on the best method to re-write a particular stored procedure and the COALESCE() ended up being a very elegant solution.
The problem I was faced with, is I wanted to write a single stored procedure that I could use to update any single column or combination of columns based upon the primary key. In the past, I've always just written out a nasty looking string and then passed that to the execute command or the sp_executesql stored procedure that's included in SQL Server.