I've been eagerly waiting a new Extreme album since the 1995 release of Waiting for the Punchline.
When 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:
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.
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:
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!
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.
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:
For a complete song list, see Gizmodo's coverage of Rock Band 2.
[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.
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 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.
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.
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.
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."
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.
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.
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:
Just a quick note that over the weekend I updated the code to the jQuery mcDropdown Plug-in to v1.1a. The update contains:
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.