About a year ago Google tackled this problem by creating Source Attribution meta tags:
syndication-source: this meta tag is used to point to the long-lived (bookmarkable) URL of the original article. This should be used on all pages that republish the syndicated content, but it can also be used on the original page to point to itself as the syndication source.
original-source: this meta tag is used to point to the article that first broke a story. It should be used on an article where you're referencing facts/info from another source that first broke the story and want to give credit. Or it could be used in an article to point to itself to indicate that the article consists entirely of original reporting.
According to Google, only one of these tags should be used, though IMO there are certainly legitimate cases for using both, since an article comprised of original reporting could also be a syndicated article. But Google will apparently only choose one to use if both are present.
Also, Google claims that the original-source tag will not currently affect ranking at all, as it's more of an experimental tool for detecting originality amongst news and journalism. However, this could change once sufficient data has been collected.
I don't frequent Codeproject, but if they're not using the syndication-source meta tag on the full-version of the republished article, then I think Codeproject users need to start applying pressure on the publisher to start doing so and give credit where it's due.