At work we are reworking our coding guidelines to be more consistent and what not. We've standardized a lot of CSS classes, naming guidelines, etc. but we spent a bit of time discussing whether an underscore or a dash is better for separating words in our code.
After talking about it amongst ourselves and doing some quick Googling, this is what we decided:
For file names and paths, use dashes because most search engines (Google included) treat dashes as separate words. So "monkey_wrench" gets indexed as "monkey_wrench" but "monkey-wrench" gets indexed as "monkey wrench." Similarly, in code editors usually they will highlight the entire phrase if it includes underscores on a double-click while they will only highlight the selected word if it is dashed, which I prefer.
For variables, or anything that does not really need to be indexed, you can use whatever you see fit (note: most languages don't allow dashes in variables/functions).
If you have any thoughts or disagree, please share it in the comments.
We just finished a new web site today, BeReasonableNow.com, for a lifestyle guide. The web site was created for a friend of mine. I've seen the guide, there's nothing magical about it, it's totally practical and pretty funny. Check it out!
I decided since this was a one page deal that I'd try out a few design ideas I've seen lately including subtle radial gradients and larger text. I like how it turned out.
All the effects except the gradient and title image are CSS: border-radius, box-shadow, background gradient, and text-shadow primarily. I was also thinking of using the new @font-face but Arial didn't look that bad so I just left it.
To see what the site should look like, view it in Safari/Webkit. The only major difference is the background gradient on the submit button at the bottom. That's progressive enhancement for you!