My site, which gets slightly less traffic than Less Wrong, makes me $50-$200 per month with Amazon referral links and no advertising at all. I don't profit this way, but I recoup some of my costs.
I think the Less Wrong audience is much more likely to purchase books - including expensive textbooks - than my audience is. And it would be easy to automatically transform all Amazon links on Less Wrong so that they include a Less Wrong Amazon Associates referral code, which would make Less Wrong some money on every purchase made through one of those links.
Below is the pseudocode, assuming Less Wrong's Amazon Associates referral code is "lesswrong". Note that every Amazon page for an item contains at least the following string: "/dp/XXXXXXXXXX/" where XXXXXXXXXX is alphanumeric.
if hyperlink contains "*amazon.com*/dp/??????????/" then change hyperlink to "http://www.amazon.com/dp/??????????/ref=nosim?tag=lesswrong-20"
That's it! For example, let's say somebody wrote a post and pasted in the following Amazon hyperlink from their browser's address bar:
http://www.amazon.com/Artificial-Intelligence-Modern-Approach-3rd/dp/0136042597/ref=sr_1_1?ie=UTF8&qid=1296058194&sr=8-1
This would be transformed into:
http://www.amazon.com/dp/0136042597/ref=nosim?tag=lesswrong-20
This is precisely what I do on my own site. Works like a charm. If somebody clicks my book link but ends up buying a $1000 DSLR instead, I get about $65 for that one purchase.
Somebody who didn't give up programming in 8th grade could do this fairly easily I imagine, and it would help cover Less Wrong's expenses.
It's not true that Amazon product URLs must contain "/dp/". According to http://en.wikipedia.org/wiki/Amazon_Standard_Identification_Number , product URLs may have the following formats:
Which is not even a complete list because I've also seen:
Instead of trying to parse all these formats, I suggest just adding "?tag=lesswrong-20" or "&tag=lesswrong" (depending on whether the URL already contains a "?") to the end of every Amazon.com URL. Also, "ref=nosim" is obsolete and can be omitted.