Jaz thanks a lot for your comments. I'll post my thoughts to some of them below.
I would remove the meta keywords it is no longer indexed and is just a waste of time TBH.
While I do understand what you're saying, after all of my research and reading, it seems there are still some search engines that use them. Sure google does not, but it seems some still do, and it doesn't hurt anything to have them. So why not have them for the search engines that do use them? I also only put them on the home page, and left them off of the rest of the pages since you are right in that they aren't "really valuable".
You have title attributes on your links that don't need them I would check out my thread on accessible web coding to see why that is bad.
This is actually very interesting (just checked your article out) and not something I have ever heard before. Everything I have read/heard/learned in the past always pointed to title tags being a necessity for accessbility (also makes the nice tooltip pop up which I like for some links). It appears maybe I've been wrong all this time! I did just re-check the W3C accessbility guidelines though and they state:
In addition to clear link text, content developers may further clarify the target of a link with an informative link title (e.g., in HTML, the "title" attribute). at
Web Content Accessibility Guidelines 1.0 . That makes me wonder, is it really a huge issue if the W3C mentions that you should use them?
I would add the h1 tag to your logo for the home page as that is then correct text, remove the welcome to the bit, and then of your other pages move the h1 down.
It's funny, because I initially had the logo as the H1, but the more I thought about it, it didn't seem semantically correct. Since the logo is on every page, it obviously tells nothing about the page that you're on, which as I understand it, the H1 should do. Hence why I opted to remove the H1 from the logo, and instead, apply it to the actual text/image that represented the page, ie: Welcome, About, Portfolio, Contact etc. That made much more sense to me semantically.
You mentioned something that I never knew either, that the "hidden link" text should match the image exactly. I never really thought anything of it before and always thought it was a great way to get more detail in there. But I guess it does make perfect sense as people could easily exploit it for SEO. I'll definitely look into making them match.
Wording wise someone who is going to come to you 9 times out of 10 is going to have no idea to what XHTML/CSS coding is.
This I actually am going to disagree with you on

In almost every professional portfolio I have ever seen, including the brilliant Cameron Moll, coding is listed exactly in that way, XHTML/CSS. Yes average lay people will not understand it, but thats fine to me. I would rather clearly state what languages/services I performed, than make it layperson vague and not clearly defined. I doubt most laypeople understand CMS, javascript, Ruby, etc. either, but I will most definitely use those terms in the services description for projects that used them.
As far as laypeople are concerned, most don't even understand the difference between design and coding, they just see the whole thing as a "website". The listed services or more for professionals, companies, clients in the-know, who are looking to know what exactly my role on the project was or what my skill-set is.
So lets just agree to disagree on that one
Again thanks a lot for the info, I'll be looking into making some of those changes shortly.