dans.blog


The miscellaneous ramblings and thoughts of Dan G. Switzer, II

Review of Extreme's new CD Saudades de Rock

I've been eagerly waiting a new Extreme album since the 1995 release of Waiting for the Punchline. imageWhen Extreme broke up a few years later, I thought I'd never see another Extreme album. On Tuesday, August 12, 2008 that all changed when Extreme released Saudades de Rock.

Before I get into my review, I should give a little background on my music tastes. Some of my earliest memories are of riding in my parent's car listening to the Beatles—so they probably are the single largest influence in my music tastes. There's nothing I like more in my music than a strong melody and vocal harmonies (which explains why I've loved bands such as King's X and Galactic Cowboys—two bands that have always done a great job with vocal harmonies.

For those of you just know Extreme from their few commercial hits, that's not a really great representation of the band. They've always been extremely diverse in their music. Each album they put out from their self-title debut through Waiting for the Punchline should their growth as song writers and musicians.

So after my first listen of the new album, here are my thoughts track-by-track:

more…


Kyle Lograsso a remarkable 5-year old...

If you're a fan of golf or just of heartwarming stories, then this is for you. My mom sent me this story and it is indeed remarkable (and heartwarming.) Kyle began his fascination with golf at age 2, but it wasn't until after developing cancer and losing his left eye did he actually play the sport for the first time.


Kyle Lograsso @ Yahoo! Video


Steelers football starts tonight!

I actually always look forward to preseason football. I mean I'm always worried about the injury bug, but I love seeing all the young rookies trying to make their mark. What diehard football fan can't wait to see their top draft picks in uniform.

Tonight's the first Steelers preseason game, against the Eagles. The game starts at 7:30pm EST. Those not in the Pittsburgh area, but lucky enough to have NFL Network will get to see the game live. Here are some of the guys I'm keeping an eye out for:

  • Rashard Mendenhall, RB - Our #1 draft pick. I'm anxious to see how well he does in short yardage situations—since the Steelers Coaching staff has been really looking for a power inside runner to compliment parker.
  • Gary Russell, RB - Russell is a second year undrafted player. He played his college ball in Minnesota with Lawrence Maroney. I was really impressed with him last year (and in college) and his running style reminds me of Emmit Smith. He tends to always fall forward. Even with Melwede Moore and Rashard Mendenhall on the team, I still won't be surprised if Russell finds his way into the normal rotation.
  • Limas Sweed, WR - Can't wait to see our #2 pick. The Steelers discovered he had an astigmatism a few weeks ago and fitted him with contacts. He claims he's seeing the ball much better now too.
  • Dallas Baker, WR - Baker is another second year player who supposedly had a tremendous spring camp. Baker "The Touchdown Maker" was hidden on the practice squad, but everything I've heard from camp sounds like he'll make the team. If he pans out, the Steelers will have a ridiculously talented WR corp.
  • Kyle Clement, DE - The Steelers need youth and depth on the defensive line. Clement comes from a small school program, but has lots of athleticism. It sounds like he's been spotty in camp, but I'm anxious to see how the guy plays in a real game.
  • Roy Lewis, DB - From everything I've read, this undrafted rookie has really stood out in camp. They have him playing both FS and CB. His coverage skills are supposedly very solid and he can really lay the wood when making a tackle.
  • Dennis Dixon, QB - Can this kid be the future backup QB? He started off pretty poorly in training camp, but it's said he's getting much better every day. The Steelers scouting team hasn't done a very good job evaluating late round QBs lately. There's no doubt Dixon is a heck of an athlete, but will he be able to handle the reigns of QB if he's asked to play. Hopefully I'll get a feel for that tonight.
  • Bruce Davis, OLB - Another rookie, who terrorized opposing QBs the past few years in the PAC-10 as a defensive end. While its said he needs to bulk up a bit (his upper body strength is reported to not be great) he was primarily a speed rusher in College. He put up like 22 1/2 sacks the past two years at UCLA, so I'm hoping we have our future bookend to Lamar Woodley.
  • Lamar Woodley, OLB - Woodley's a second year player, who from all reports, has been the star of camp. Word is he's unblockable and everyone says he reminds them of Shawn Merriman. Kevin Greene, who came in a special advisor to the LB corp, said Woodley might be the best rushing LB to every put on the Black-n-Gold (and that says a ton coming from KG.)
  • Paul Ernster, P - Yeah, I know a punter. Who pays attention to a punter. Well, the Steelers starting Punter (Daniel Sepulveda) was injured on the first few days of camp. Since the Steelers didn't have a second punter, they called this guy up and got him into camp. I saw Ernster punt the couple of games he played in last year and he really stunk. Word from camp is that he shanks a couple, then booms a couple—which is what I remember as well. Consistency and accuracy are two of the key components I look for in a Punter and constantly shanking the ball in practice does not bode well to me.

I'm also going to really be paying special attention to special teams. The Steelers have brought in a number of big name players to try and find a top-notch Punt Returner (Eddie Drummond, Melwede Moore, Jeremy Bloom, etc.) The Steelers Special Teams has been anything but special the past few years, so I'm hoping to see some improvement. Poor special teams cost us a couple of games last year (and almost cost us a couple others.)

So, there's lots to look forward to in a preseason game, but most importantly it means the regular season is getting closer!


Using Eclipse to find queries that aren't using <cfqueryparam />

With all the chatter about recently SQL injections attacks, I thought I'd try and whip up a regex I could use in Eclipse/CFEclipse to find <cfquery> tags that have exposed variables (strings wrapped in #...#) that don't use the <cfqueryparam /> tag.

Well I'm far from a regex master, here's what I came up with:

<cfquery\s[^>]*>([^#]*(((?<!value=")#[^#]*#)))((?<!</cfquery)[^>]*?)</cfquery>

The query does not explicitly check for the token <cfqueryparam, but instead checks to make sure that CF variables are preceded with the string value="—which is the attribute used in <cfqueryparam />.

The query isn't perfect and may pick up occasional false positives, but from my testing it seems to work pretty well. If you have some improvements to the regex, make sure to post a comment and I'll update the post with the most recent version.


Dream Theater to appear in Rock Band 2

I was just looking over the song list announced for Rock Band 2 and the inclusion of Dream Theater really caught my eye. While I would have picked a song different from Panic Attack, I'm giddy to see Dream Theater show up in a game like this.

Some other song that caught my eye were:

  • AC/DC - Let There Be Rock
  • Alice in Chains - Man in the Box
  • Billy Idol - White Wedding Pt. I
  • Foo Fighters - Everlong
  • Kansas - Carry On Wayward Son
  • Megadeth - Peace Sells
  • Metallica - Battery
  • Ratt - Round & Round
  • Rush - The Trees

For a complete song list, see Gizmodo's coverage of Rock Band 2.


Important shortcuts for Eclipse & CFEclipse

[UPDATED: Friday, April 17, 2009 at 10:27:41 AM]

Two great posts by Mike Henke and John Whish over the past week cover some really important keyboard shortcuts for Eclipse & CFEclipse. They cover the gamut of some of my favorites (like CTRL+SHIFT+R) and some ones I always forget about (such as CTRL+DEL and CTRL+BACKSPACE.) These are definitely shortcuts you should be memorizing to make you work more efficient.

General Eclipse Shortcuts

[CTRL]+[SHIFT]+[L]
A list of all keyboard shortcuts (not mapped by default in CFEclipse--you can create a copy of this shortcut in the Keys preferences and map to [CTRL]+[ALT]+[K] which is open in CFEclipse.)
[CTRL]+[M]
Maximizes (or minimizes) the current pane (editor or view.) This is a handy way to maximize your editor to take up the full screen.
[CTRL]+[K]
Finds the next occurrence of the highlighted text. (NOTE: This is one of the best ways to jump around your document.)
[CTRL]+[SHIFT]+[K]
Finds the previous occurrence of the highlighted text.
[CTRL]+[H]
Brings up the Search & Replace dialog.
[CTRL]+[D]
Delete the current line.
[CTRL]+[SHIFT]+[DEL]
Deletes to the end of the current line.
[CTRL]+[DEL]
Deletes the next word.
[CTRL]+[BACKSPACE]
Deletes the previous word.
[CTRL]+[SHIFT]+[X]
Converts highlighted text to uppercase.
[CTRL]+[SHIFT]+[Y]
Converts highlighted text to lowercase. </DD
[CTRL]+[Q]
Goes to the last place you made a change.
[ALT]+[LEFT]
Goes "back" to the last open editor in your viewing history.
[ALT]+[RIGHT]
Goes "forward" to the next open editor in your viewing history.
[CTRL]+[E]
The Quick Switch Editor opens a list of all open editors and allows you to quickly switch to any open file.
[CTRL]+[SHIFT]+[R]
The Open Resource dialogs allows you to quickly open any files in your workspace. This is one I use all the time.
[CTRL]+[3]
The Quick Access menu pretty much helps you find anything in Eclipse by providing a keyword.
[CTRL]+[SHIFT]+[E]
The Switch to Editor brings up a list of all open editors (and can even span multiple windows.)
[CTRL]+[UP]
Moves the current (or highlighted) rows up one line.
[CTRL]+[DOWN]
Moves the current (or highlighted) rows down one line.
[CTRL]+[ALT]+[UP]
Inserts a copy of the currently highlighted line above the current line.
[CTRL]+[ALT]+[DOWN]
Inserts a copy of the currently highlighted line below the current line.
[CTRL]+[ALT]+[RIGHT]
Shifts (indents) the current or highlighted line(s) to the right. Much faster than highlighting the line(s) and using the [TAB] key.
[CTRL]+[ALT]+[LEFT]
Shifts (un-indents) the current or highlighted line(s) to the left. Much faster than highlighting the line(s) and using the [SHIFT]+[TAB] key.
[CTRL]+[HOME]
Jumps to the beginning of the current file.
[CTRL]+[END]
Jumps to the end of the current file.

CFEclipse Shortcuts

[CTRL]+[3]
Wraps text inside #...#.
[CTRL]+[T]
Edit current tag.
[CTRL]+[SHIFT]+[A]
Inserts <cfabort/> tag.
[CTRL]+[SHIFT]+[D]
Inserts <cfdump/> tag.
[CTRL]+[SHIFT]+[O]
Wraps text inside <cfoutput>...</cfoutput> tags.
[CTRL]+[SHIFT]+[N]
When focus is inside of an HTML/CFML tag, it will jump to the matching open or close tag.
[CTRL]+[SHIFT]+[U]
Converts highlighted text to uppercase. (NOTE: I recommend using [CTRL]+[SHIFT]+[X] instead because it's a general Eclipse shortcut.)
[CTRL]+[SHIFT]+[L]
Converts highlighted text to lowercase. (NOTE: I recommend using [CTRL]+[SHIFT]+[Y] instead because it's a general Eclipse shortcut.)
[CTRL]+[SHIFT]+[P]
Wraps text inside <p>...</p> tags.
[CTRL]+[SHIFT]+[C]
Wraps text inside a contextual comment (i.e. <!--...--> for HTML, /*...*/ for scripts).
[CTRL]+[SHIFT]+[M]
Wraps text inside <!---...---> tags.
[CTRL]+[SHIFT]+[Z]
Opens the color picker.
[CTRL]+[\]
Expands or collapses the current code block (<cfif>, <cffunction>, <cfswitch>, etc.)

In CFEclipse, most of your standard shortcuts for formatting (i.e. [CTRL]+[B] = strong) work as well. Learning keyboard shortcuts can really speed up your development process, so I recommend trying to learn one or two a week and introduce them into your coding habits.


The Pencil Project - Sketching & Prototyping with Firefox 3

The Pencil Project looks like a pretty interesting tool for sketching out and prototyping a site design. It's based on XUL engine in Firefox 3 and looks to be a pretty impressive little open source application. From the Pencil Project website:

The Pencil Project's unique mission is to build a free and opensource tool for making diagrams and GUI prototyping that everyone can use.

Top features:

  • Built-in stencils for diagraming and prototyping
  • Multi-page document with background page
  • On-screen text editing with rich-text supports
  • PNG rasterizing
  • Undo/redo supports
  • Installing user-defined stencils
  • Standard drawing operations: aligning, z-ordering, scaling, rotating...
  • Cross-platforms
  • Adding external objects
  • And much more...

Pencil will always be free as it is released under the GPL version 2 and is available for virtually all platforms that Firefox 3 can run. The first version of Pencil is tested against GNU/Linux 2.6 with GTK+, Windows XP and Windows Vista.

Make sure to check out the quick tour/screenshots of the application.


ColdFusion Backup & Disaster Recovery License

Adam Lehman mentioned this the other day on a mailing list (and now has blogged about the CF 8 EULA change); the ColdFusion license changed in v8.01 and it now allows you to have a copy of CF installed for a warm backup server.

From the ColdFusion 8 EULA (PDF):

2.3 Backup and Disaster Recovery. Licensee may make and install a reasonable number of copies of the Software (ColdFusion) for backup and archival purposes and use such copies solely in the event that the primary copy has failed or is destroyed, but in no event may Licensee use such copies concurrently with Production Software or Development Software. Licensee may also install copies of the Software in a Disaster Recovery Environment for use solely in disaster recovery and not for production, development, evaluation or testing purposes other than to ensure that the Software is capable of replacing the primary usage of the Software is case of disaster.

This is great news for smaller shops that want to have a warm/hot backup server that they can easily push live if their production server runs into hardware problems.


Boba Fett + Flashdance = Fettdance...

A good way to start a Monday morning...


Mandalorian Dance
by PatrickBoivin


After DOM manipulation, form fields won't post...

This is an issue I first ran into several years ago, but I've recently helped two different people who had the same problem and thought it was worthy of blogging.

If you run into a situation where form fields are not getting posted to the server after the DOM has been manipulated, check to make sure the <form/> element is in a valid location. If the <form/> tag resides as a direct child of either a <table/> or <tr/> element, then you will encounter problems posting the form once a child element of the <form/> element has been dynamically modified.

While this behavior does not occur in IE, it does happen in other modern browsers—such as Firefox and some WebKit-based browsers.

Any of the following will break your form post submission:

<table><form><tr> .... </tr></form></table>

<table><tr><form> .... </form></tr></table>

<table><tbody><form> ... </form></tbody></table>

To correct the problem, just place the <form/> tag outside of the <table/> tag:

<form><table><tr> ... </tr></table></form>

This type of markup usually appears on older sites, where I believe the intent of putting the <form/> tag inside the <table/> was to prevent any visual margins from being seen. Obviously, it's easy to remove the margins using CSS and this type of invalid markup can only come back to haunt you.

NOTE: You can do <table><tr><td><form> .... </form></td></tr></table>. That's perfectly valid HTML. You just need to make sure the <form/> tag is placed somewhere were visible text is allowed.


Refreshing Eclipse Workspace using ANT

I was looking for a way to programmatically refresh some specific folders in my workspace anytime I ran my ANT script. Eclipse provides several ant tasks that you can use for various purposes, once of which is the <eclipse.refreshLocal /> tag:

<eclipse.refreshLocal resource="MyProject/MyFolder" depth="infinite"/>
  • resource is a resource path relative to the workspace 
  • depth can be one of the following: zero, one or infinite

However, when I first tried adding this task to my ANT script, I was getting an error that looked like:

BUILD FAILED
c:\path\folder\build.xml:85: Problem: failed to create task or type eclipse.refreshLocal
Cause: The name is undefined.
Action: Check the spelling.

Needless to say, I was pretty confused. So after some brief research, it turns out I accidentally running ANT outside of the Eclipse JRE. To fix this, go open up the External Tools Dialog (Run > External Tools > Open External Tools Dialog...) and make sure the JRE tab is set to "Run in the same JRE as workspace."

image

I'm not sure how that setting got changed, but I'm glad I found the fix. This also has sped up the first time execution of my ANT scripts.


Akeem Havens, 14 year old quadriplegic, gets signed as a Steeler

Here's a video segment about Akeem Havens, a 14 year old quadriplegic who got his wish to play video games with Ben Roethlisberger. The Steelers FO office signed Akeem to a 1 day contract and he even got to practice with the Steelers team.


mcDropdown v1.2 released...

Addressing some more behavior issues being brought up (and adding a few new features,) Giva just released a new version of the mcDropdown plug-in:

  • Added focus() method
  • Fixed autocomplete list from showing dropdown when go back levels in FF3
  • Fixed autocomplete list corruption in when go back levels after using mouse
  • Added tabindex="-1" to the dropdown arrow (so it shouldn't recieve focus on tabbing)
  • Fixed tabbing behavior so hitting [TAB] should go to the next element in the tabindex
  • Autocomplete no longer shows (by default) if the input is empty and recieves focus (use the setting.showACOnEmptyFocus to control this behavior)
  • Added setting.showACOnEmptyFocus (used for controlling whether the autocomplete list shows on focus if list is empty; default = false)
  • Fixed noConflict() bug (where $ wasn't being properly scoped)


jQuery mcDropdown Plug-in updated to v1.1a

Just a quick note that over the weekend I updated the code to the jQuery mcDropdown Plug-in to v1.1a. The update contains:

  • Fixed Safari keyboard support
  • Added mouse support for keyboard autocomplete box
  • Menu mouseout behavior should be functioning better


Do not trust Google's link: operator

I've noticed this behavior for a while, but was just asked about this by a co-worker. The Google link: operator does not really work as most people expect and certainly not the way I originally expected it to work. Google has this to say about the link: operator:

The query [link:] will list webpages that have links to the specified webpage. For instance, [link:www.google.com] will list webpages that have links pointing to the Google homepage. Note there can be no space between the "link:" and the web page url.

Notice they don't explicitly say anything about the accuracy or volume that will be returned, just that it will return pages that have links. Well, that's not even really true. Sometimes it will return empty results (even when there are legitimate external links to a page (could be even thousands of links.)

If you're really trying to find external links to your site, the best method Google provides is via their Google Webmaster Tools (see How can I see links to my site?.) Even this method apparently won't reveal all external links, but it's much more accurate.

If you have any great tips for listing external links, make sure to share them in the comments.