




if (typeof(disqus_iframe_css) == 'undefined') {
	disqus_iframe_css = '';
}
if (typeof(disqus_def_name) == 'undefined') {
	disqus_def_name = '';
}
if (typeof(disqus_def_email) == 'undefined') {
	disqus_def_email = '';
}
if (typeof(disqus_skip_auth) == 'undefined') {
	disqus_skip_auth = false;
}
if (typeof(disqus_default_text) == 'undefined') {
	disqus_default_text = 'Type your comment here.';
}

(function(){
	
	var ie = document.uniqueID
		&& document.compatMode
		&& !window.XMLHttpRequest
		&& document.execCommand ;

	try {
		if(!!ie) {
			document.execCommand("BackgroundImageCache", false, true);
		}
	} catch(e) {};
})();

var Dsq = new function() {
	this.container = document.getElementById('dsq-content');
	this.jsonData = {"reactions": [], "has_more_reactions": false, "users": {"c38369dd3a9a0e99eb40cec98761b3f3": {"username": "Helen, software developer", "tumblr": "", "display_name": "Helen, software developer", "url": "http://disqus.com/guest/c38369dd3a9a0e99eb40cec98761b3f3/", "registered": false, "linkedin": "", "blog": "http://alierra-software.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "341d60db0a0de2505113f9f1e1336f17": {"username": "Todd Zeigler", "tumblr": "", "display_name": "Todd Zeigler", "url": "http://disqus.com/guest/341d60db0a0de2505113f9f1e1336f17/", "registered": false, "linkedin": "", "blog": "http://www.bivingsreport.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "1d3b7111891d2ee57c9954c1dcc435f5": {"username": "JJ", "tumblr": "", "display_name": "JJ", "url": "http://disqus.com/guest/1d3b7111891d2ee57c9954c1dcc435f5/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "4e0db9bd84f3945bf6f8ff77dc53ae55": {"username": "John", "tumblr": "", "display_name": "John", "url": "http://disqus.com/guest/4e0db9bd84f3945bf6f8ff77dc53ae55/", "registered": false, "linkedin": "", "blog": "http://www.wiredgc.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "3553f5e0db0fd1ec4e40a932a2d8f5b3": {"username": "scobleizer", "tumblr": "", "display_name": "scobleizer", "url": "http://disqus.com/guest/3553f5e0db0fd1ec4e40a932a2d8f5b3/", "registered": false, "linkedin": "", "blog": "http://scobleizer.wordpress.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/4069/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "9aae0e2c1503b1e541e4c4cb9bb08f0a": {"username": "anon", "tumblr": "", "display_name": "anon", "url": "http://disqus.com/guest/9aae0e2c1503b1e541e4c4cb9bb08f0a/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "1d4361428791ca98116966800b225b3b": {"username": "shel israel", "tumblr": "", "display_name": "shel israel", "url": "http://disqus.com/guest/1d4361428791ca98116966800b225b3b/", "registered": false, "linkedin": "", "blog": "http://nakedconversations.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "70af65901183f3c0568307bf352d77bd": {"username": "Derek", "tumblr": "", "display_name": "Derek", "url": "http://disqus.com/guest/70af65901183f3c0568307bf352d77bd/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "db8b90f0fd5c99a46159975ebdd9776c": {"username": "Adam", "tumblr": "", "display_name": "Adam", "url": "http://disqus.com/guest/db8b90f0fd5c99a46159975ebdd9776c/", "registered": false, "linkedin": "", "blog": "http://www.nbwheeling.org/~aball", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "3f513e2cf340de447da7d12d8497d7bc": {"username": "Richard Brownell", "tumblr": "", "display_name": "Richard Brownell", "url": "http://disqus.com/guest/3f513e2cf340de447da7d12d8497d7bc/", "registered": false, "linkedin": "", "blog": "http://www.richbrownell.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "84462218fd115467952d784a69d586d6": {"username": "Sid Steward", "tumblr": "", "display_name": "Sid Steward", "url": "http://disqus.com/guest/84462218fd115467952d784a69d586d6/", "registered": false, "linkedin": "", "blog": "http://listmixer.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "f3ada405ce890b6f8204094deb12d8a8": {"username": "barfoo", "tumblr": "", "display_name": "barfoo", "url": "http://disqus.com/guest/f3ada405ce890b6f8204094deb12d8a8/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "d95ea57c48ed97c4309f96d28a04791f": {"username": "DavidM", "tumblr": "", "display_name": "DavidM", "url": "http://disqus.com/guest/d95ea57c48ed97c4309f96d28a04791f/", "registered": false, "linkedin": "", "blog": "http://www.reallifenews.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "d4e16de986f6b2c6e1b314ab33a4f809": {"username": "Big Deal Not?", "tumblr": "", "display_name": "Big Deal Not?", "url": "http://disqus.com/guest/d4e16de986f6b2c6e1b314ab33a4f809/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "be4e7fd208d47dce6697eb579cf3a32f": {"username": "Dan", "tumblr": "", "display_name": "Dan", "url": "http://disqus.com/guest/be4e7fd208d47dce6697eb579cf3a32f/", "registered": false, "linkedin": "", "blog": "http://vision.p0mi.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "b4f04f9fd2de8730cda367d361178145": {"username": "Larry", "tumblr": "", "display_name": "Larry", "url": "http://disqus.com/guest/b4f04f9fd2de8730cda367d361178145/", "registered": false, "linkedin": "", "blog": "http://www.greenjem.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "2afda69a8f9e4dd38401dad300f1a570": {"username": "Scott Magoon", "tumblr": "", "display_name": "Scott Magoon", "url": "http://disqus.com/guest/2afda69a8f9e4dd38401dad300f1a570/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "95844895dc121d884c1b8be5de85fbc1": {"username": "Matt S", "tumblr": "", "display_name": "Matt S", "url": "http://disqus.com/guest/95844895dc121d884c1b8be5de85fbc1/", "registered": false, "linkedin": "", "blog": "http://www.onlyrepublican.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "02ac79b9b2373a4788ae9311d19c4fb1": {"username": "Ethan", "tumblr": "", "display_name": "Ethan", "url": "http://disqus.com/guest/02ac79b9b2373a4788ae9311d19c4fb1/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "aa40dc6757d9e53ff1aaca2dc6bb4625": {"username": "Blog Bloke", "tumblr": "", "display_name": "Blog Bloke", "url": "http://disqus.com/guest/aa40dc6757d9e53ff1aaca2dc6bb4625/", "registered": false, "linkedin": "", "blog": "http://www.instabloke.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "a059d0052ae7be5d790179b6c5fbb164": {"username": "Chris Heuer", "tumblr": "", "display_name": "Chris Heuer", "url": "http://disqus.com/guest/a059d0052ae7be5d790179b6c5fbb164/", "registered": false, "linkedin": "", "blog": "http://www.brainjams.org/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "b9ed774661a22ff8797a1e0e24f0baf3": {"username": "Robert Sayre", "tumblr": "", "display_name": "Robert Sayre", "url": "http://disqus.com/guest/b9ed774661a22ff8797a1e0e24f0baf3/", "registered": false, "linkedin": "", "blog": "http://franklinmint.fm/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "0df61aba57e643b39833d6442cbc7ba1": {"username": "Ron K. Jeffries", "tumblr": "", "display_name": "Ron K. Jeffries", "url": "http://disqus.com/guest/0df61aba57e643b39833d6442cbc7ba1/", "registered": false, "linkedin": "", "blog": "http://blog.eronj.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "dahowlett": {"username": "dahowlett", "tumblr": "", "display_name": "dahowlett", "url": "http://disqus.com/dahowlett/", "registered": true, "linkedin": "", "blog": "http://www.dahowlett.com", "remote_domain": null, "points": 2, "facebook": "http://www.facebook.com/dahowlett", "avatar": "http://media.disqus.com/uploads/users/1740/avatar92.jpg", "delicious": "dahowlett", "is_remote": false, "verified": true, "flickr": "dahowlett", "twitter": "", "remote_domain_name": ""}, "98583d556bf0b5c55f7a62217ceeafcc": {"username": "Anonymous", "tumblr": "", "display_name": "Anonymous", "url": "http://disqus.com/guest/98583d556bf0b5c55f7a62217ceeafcc/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "d3c4cdb15c832cfc746367a033b0d356": {"username": "orcmid", "tumblr": "", "display_name": "orcmid", "url": "http://disqus.com/guest/d3c4cdb15c832cfc746367a033b0d356/", "registered": false, "linkedin": "", "blog": "http://orcmid.com/blog/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/27/3222/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "c979a0140d17ab5f1386bbc79068271b": {"username": "Ben Houston", "tumblr": "", "display_name": "Ben Houston", "url": "http://disqus.com/guest/c979a0140d17ab5f1386bbc79068271b/", "registered": false, "linkedin": "", "blog": "http://www.exocortex.org/ben", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "c5ab19ea1857adbdcdeeed6b68848043": {"username": "orangeguru", "tumblr": "", "display_name": "orangeguru", "url": "http://disqus.com/guest/c5ab19ea1857adbdcdeeed6b68848043/", "registered": false, "linkedin": "", "blog": "http://www.orangeblog.net/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "ed8f8031200fb0c334bd9658774a6f17": {"username": "James Robertson", "tumblr": "", "display_name": "James Robertson", "url": "http://disqus.com/guest/ed8f8031200fb0c334bd9658774a6f17/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "04dbe0958e443205859292d215702b3f": {"username": "Frank N. Stein", "tumblr": "", "display_name": "Frank N. Stein", "url": "http://disqus.com/guest/04dbe0958e443205859292d215702b3f/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "30a93bc390dbfe85ddf90f18419c784e": {"username": "mambo italianoxvv", "tumblr": "", "display_name": "mambo italianoxvv", "url": "http://disqus.com/guest/30a93bc390dbfe85ddf90f18419c784e/", "registered": false, "linkedin": "", "blog": "http://niemachujanamariolke.com/xvv", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "231c2bf1a0f151ea6892c61523c47476": {"username": "Abhijit Nadgouda", "tumblr": "", "display_name": "Abhijit Nadgouda", "url": "http://disqus.com/guest/231c2bf1a0f151ea6892c61523c47476/", "registered": false, "linkedin": "", "blog": "http://iface.wordpress.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "490d926d48cdd8ab8349fe6206c02da4": {"username": "Jeremy Wright", "tumblr": "", "display_name": "Jeremy Wright", "url": "http://disqus.com/guest/490d926d48cdd8ab8349fe6206c02da4/", "registered": false, "linkedin": "", "blog": "http://www.b5media.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/16/9164/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "8d5bac396c79513d3c14008928936c1a": {"username": "kr8tr", "tumblr": "", "display_name": "kr8tr", "url": "http://disqus.com/guest/8d5bac396c79513d3c14008928936c1a/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/8/7488/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "422187df3c45655b0dc2ae5de0710b27": {"username": "John C. Welch", "tumblr": "", "display_name": "John C. Welch", "url": "http://disqus.com/guest/422187df3c45655b0dc2ae5de0710b27/", "registered": false, "linkedin": "", "blog": "http://www.bynkii.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "929384c59c9949b86228a73266f5167f": {"username": "DrumsNWhistles", "tumblr": "", "display_name": "DrumsNWhistles", "url": "http://disqus.com/guest/929384c59c9949b86228a73266f5167f/", "registered": false, "linkedin": "", "blog": "http://drumsnwhistles.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "15ceeef84bcec075e2dc57c844b8dbcf": {"username": "Michiel", "tumblr": "", "display_name": "Michiel", "url": "http://disqus.com/guest/15ceeef84bcec075e2dc57c844b8dbcf/", "registered": false, "linkedin": "", "blog": "http://acidzebra.blogspot.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "Jack_Yan": {"username": "Jack_Yan", "tumblr": "", "display_name": "Jack Yan", "url": "http://disqus.com/Jack_Yan/", "registered": true, "linkedin": "in/jackyan", "blog": "http://jackyan.com", "remote_domain": null, "points": 3, "facebook": "", "avatar": "http://media.disqus.com/uploads/users/10/7963/avatar92.jpg", "delicious": "jackyan", "is_remote": false, "verified": true, "flickr": "luciremagazine", "twitter": "", "remote_domain_name": ""}, "8fbd1902c9d786dd42a39d3e081ff778": {"username": "Ian Betteridge", "tumblr": "", "display_name": "Ian Betteridge", "url": "http://disqus.com/guest/8fbd1902c9d786dd42a39d3e081ff778/", "registered": false, "linkedin": "", "blog": "http://technovia.typepad.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "e7dd5182b72baa77441d63c06465f784": {"username": "mcdmcblog", "tumblr": "", "display_name": "mcdmcblog", "url": "http://disqus.com/guest/e7dd5182b72baa77441d63c06465f784/", "registered": false, "linkedin": "", "blog": "http://mcdmcblog.wordpress.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "d3ea5ee6736f486f879d4c80695b2223": {"username": "met", "tumblr": "", "display_name": "met", "url": "http://disqus.com/guest/d3ea5ee6736f486f879d4c80695b2223/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "eeb30598b3d1ff8d372ea6314ced64a2": {"username": "Jeff Davis", "tumblr": "", "display_name": "Jeff Davis", "url": "http://disqus.com/guest/eeb30598b3d1ff8d372ea6314ced64a2/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "dba9deebd401367b9184dec7862ae04a": {"username": "Dave", "tumblr": "", "display_name": "Dave", "url": "http://disqus.com/guest/dba9deebd401367b9184dec7862ae04a/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "ecd52fe852662789163992d0cf59c038": {"username": "Roland", "tumblr": "", "display_name": "Roland", "url": "http://disqus.com/guest/ecd52fe852662789163992d0cf59c038/", "registered": false, "linkedin": "", "blog": "http://rolandboon.net/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "d04749fcefa2afaee599134b653963e2": {"username": "Liz Strauss", "tumblr": "", "display_name": "Liz Strauss", "url": "http://disqus.com/guest/d04749fcefa2afaee599134b653963e2/", "registered": false, "linkedin": "", "blog": "http://www.successful-blog.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "ed69d65d969748c0106976bd918ea7d8": {"username": "Rob Fay", "tumblr": "", "display_name": "Rob Fay", "url": "http://disqus.com/guest/ed69d65d969748c0106976bd918ea7d8/", "registered": false, "linkedin": "", "blog": "http://robfay.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "67ddf598c32d0ae929852af89fa4b272": {"username": "Karim", "tumblr": "", "display_name": "Karim", "url": "http://disqus.com/guest/67ddf598c32d0ae929852af89fa4b272/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "4fe19b3352f366bef89ea9cdf6c0e0c9": {"username": "Ross", "tumblr": "", "display_name": "Ross", "url": "http://disqus.com/guest/4fe19b3352f366bef89ea9cdf6c0e0c9/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/22/6452/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "b188d046267bb5cddbc457580551297d": {"username": "Omni", "tumblr": "", "display_name": "Omni", "url": "http://disqus.com/guest/b188d046267bb5cddbc457580551297d/", "registered": false, "linkedin": "", "blog": "http://omniverse.blogspot.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "39314b9561ab4752a37c3370fbf6ee5d": {"username": "Jason B.", "tumblr": "", "display_name": "Jason B.", "url": "http://disqus.com/guest/39314b9561ab4752a37c3370fbf6ee5d/", "registered": false, "linkedin": "", "blog": "http://spaces.msn.com/members/geekspeaker", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "af141f2786204d53f3768f5e8d23da03": {"username": "v((aspers th&#39; gr]*ate", "tumblr": "", "display_name": "v((aspers th&#39; gr]*ate", "url": "http://disqus.com/guest/af141f2786204d53f3768f5e8d23da03/", "registered": false, "linkedin": "", "blog": "http://techrepublic.com.com/5247-6257-0.html", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "cab1041ab2de14f71e070c15f8ae968e": {"username": "Christopher Coulter", "tumblr": "", "display_name": "Christopher Coulter", "url": "http://disqus.com/guest/cab1041ab2de14f71e070c15f8ae968e/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}}, "forum": {"use_media": true, "name": "Scobleizer", "streaming_realtime": true, "url": "scobleizer", "allow_anon_post": true, "reactions_enabled": true, "reply_position": 1, "show_avatar": true, "allow_anon_votes": false, "disqus_auth_disabled": false}, "realtime_enabled": true, "request": {"username": "", "is_global_moderator": false, "sharing": {}, "sort": 4, "forum": "scobleizer", "is_initial_load": true, "is_authenticated": false, "timestamp": "2009-12-17_04:51:50", "remote_domain": "", "page": 1, "is_moderator": false, "display_username": "", "points": null, "subscribe_on_post": 2, "moderator_can_edit": false, "is_remote": false, "is_verified": false, "missing_perm": "locked"}, "realtime_paused": false, "posts": {"9634441": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert - stay with us, your mission is the right one--<br>\"I want better software. More software. More geek toys. More things that improve my life.\"<br>Your efforts to publicize what inventors are doing, open a door so that the world gets more exposed to their ideas...stick with it. Blogs are the modern Agora, unruly at times but ultimately smart people learn who to ignore and who is worth listening to.  You're helping to give us all a better chance of ignoring the noise, and seeing and hearing the worthwhile speaker. Down with the mob, long live the inventors!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-16_16:37:55", "killed": false, "user_key": "70af65901183f3c0568307bf352d77bd", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9634442": {"up_voted": false, "ip": "", "has_replies": false, "message": "I'm still not clear on one thing though,<br><br>did you wish you had never looked at the blogs today or not?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-16_16:57:51", "killed": false, "user_key": "f3ada405ce890b6f8204094deb12d8a8", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9634443": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert: that's the real world you're seeing come in here. If the goal is for everybody to be blogging, podcasting, whatever, this is what you will see. The world is not a pretty place. There are a lot of angry people in it and that anger will be reflected online, perhaps even amplified because there is no filter online. People lose their inhibitations more than at a drunken frat party.<br><br>But still, much like the rise in GOOD blogs was not because blogging is good, neither is this anger-fest because blogging is bad. Blogging is neutral. So wishing you hadn't read blogs today has nothing to do with blogs and everything to do with wishing you hadn't heard what real people have to say.<br><br>That is not meant as a critique of you though so don't please don't take it as such! There are times when everybody just wants to tune out what people of the world is saying because it isn't pretty.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-16_17:12:16", "killed": false, "user_key": "3f513e2cf340de447da7d12d8497d7bc", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9634444": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert, your complaining about people being mean is silly. You sit down and write deliberately inflammatory stuff, nigh troll-bait some days, yet you are CONTINUALLY amazed when you get..well, an inflammatory response. You used to be a fundie, you must still remember that bit about \"as ye reap, so shall ye sow\"?<br><br>And lord knows, Winer's never shied away from a fight, or being a sarcastic, snide ass any chance he got. So now he's getting the same thing back.<br><br>If you're going to be an opinionated, sarcastic bugger, then stop bitching when you get it back, because well, you ask for it.<br><br>I may get TIRED of the flames in the comments on some of my posts, (dear GOD, but Star Wars fans never let it go), but I never complain about \"the evil mean people\". I know what my style is going to create, and I accept that. If I ever wish for a different reaction, I'll write differently.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-16_17:15:19", "killed": false, "user_key": "422187df3c45655b0dc2ae5de0710b27", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9634445": {"up_voted": false, "ip": "", "has_replies": false, "message": "Never liked attacks, never learned how to rant.<br>Always liked software, always want to know how it is made.<br><br>You are like Dave in that you are Posta Maxima. In the beginning you guys were the Link Masters, driving the blog-o-sphere. At present, the Borg Hive is so large, the number of voices has become too much to be handled by a single human mind, even if it aided by aggregator technology.<br><br>At times of crisis, it is good to unplug for a while, and spent some time in the real world. In the past, people just to call these periods 'vacations'. It is a bit of an art, this vacation thing, but try it, and keep trying it, and you will find that it recharges you in more ways than one. And who knows, you might even like the digital domain afterwards. :-)<br><br>Thanks for the human voice.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-16_17:25:30", "killed": false, "user_key": "ecd52fe852662789163992d0cf59c038", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9634446": {"up_voted": false, "ip": "", "has_replies": false, "message": "John: I have never gone after someone the way these people have. Please name an instance where I've said anyone is an idiot, evil, or stupid? If I have, I'm sorry, but I do try to add value here, not tear down people, even ones I think are not helping their cause.<br><br>Being a bit sensationalistic is not an excuse to attack personally. If I disagree with their ideas, I'll say so, but I won't try to make them feel bad.<br><br>But, this is something I'll try to do a lot less of. Just focus on the people doing cool stuff.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-16_17:37:38", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9634447": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert,<br><br>Go read the mailing list:<br><br><a href=\"http://groups.yahoo.com/group/rss-public/\" rel=\"nofollow\">http://groups.yahoo.com/group/rss-public/</a><br><br>Find the posts made by Dave Winer.  After you've read a few of those, maybe you'll see why he sets so many people off.  Has Dave contributed?  Sure, in many places.  He's also impossible to work with, and he's irritated the heck out of a lot of very reasonable people.  I'd count Tim Bray and Rogers Cadenhead as two of the most reasonable people I read, and I disagree with both of them - on different things - quite a bit.  Dave has pushed both of them away, through some of the most venal, mean spirited attacks I've seen anywhere.<br><br>As I said on my blog - if Dave wants to know why he's  disliked so much, he should buy a mirror.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-16_17:45:27", "killed": false, "user_key": "ed8f8031200fb0c334bd9658774a6f17", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9634448": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert, I don't think it is so much people going after Dave, I think it is a case of 'what goes around comes around'.  You can't take the kind of attitude to people that Mr W does and *not* expect to get any grief back - and whilst he is publically denigrating friends and colleagues do you expect them to just take it and walk away? Because he invented something?  How many other tech inventors have a bad attitude and feel the need to lash out at people sp publically and voilently when they disagree with them? TimBL? Bill Gates? Vint Cerf? Steve Ballmer (oops).<br><br>Dave will get the respect he is due, when he stops acting like a child.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-16_17:51:26", "killed": false, "user_key": "4fe19b3352f366bef89ea9cdf6c0e0c9", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9634449": {"up_voted": false, "ip": "", "has_replies": false, "message": "Hey Robert, don't despair. Yes, there is a lot of mob mentality out there. Take a look at the political half of memeorandum to get an idea.<br><br>But don't give up on the medium. The ad hominem stuff won't go away but it also doesn't have a lot of lasting value. Do what Microsoft generally does -- focus more on customers and products than detractors.<br><br>Diversity and chaos are two sides of the same coin. People like me will spend our \"attention dollars\" on the blogs that actually add value.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-16_17:55:53", "killed": false, "user_key": "95844895dc121d884c1b8be5de85fbc1", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9634450": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert,<br><br>Quit whining. It ain't so bad. You are doing good work.  Nothing fatal went on today in the blogosphere. There is a disagreement and folks line up behind who they want to line up behind. Forget it. Just keep on keeping on. Have a nice glass of Chardonnay, hug your wife and enjoy life.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-16_17:59:57", "killed": false, "user_key": "eeb30598b3d1ff8d372ea6314ced64a2", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9634451": {"up_voted": false, "ip": "", "has_replies": false, "message": "Or Dave could have just retired without the hoopla. When you want the limelight you have to take the bad things with it.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-16_18:07:11", "killed": false, "user_key": "d3ea5ee6736f486f879d4c80695b2223", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9634452": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert,<br><br>Your consideration for a maligned friend is admirable.<br><br>It must be difficult to see Dave attacked so vehemently.<br><br>I disagree with Dave's actions in this situation but I have made every attempt to persuade the b'verse to gently ask Dave to try to work it out with Rogers.<br><br>Rogers did create some code with and for Dave and there's ample evidence of the effort at <a href=\"http://opml.cadenhead.org\" rel=\"nofollow\">opml.cadenhead.org</a>. Dave paid $5,000 up front with a clear expectation that the details could settle overtime. Dave is documented on the site stating that Rogers did another miraculous programming job.<br><br>Consider the language of the letter Rogers recieved from Dave's lawyer on a friday that demanded return of all deposit money, and the code and any rights to all work performed.<br><br>I expect you to continue to stand by your friend but please try to understand the violent reaction that Dave generates when his \"agreement\" language states:<br><br>Consultant agrees that all copyrightable material, notes, records, drawings, designs, inventions, improvements, developments, discoveries and trade secrets (collectively, \"Inventions\") conceived, made or discovered by Consultant, solely or in collaboration with others, during the period of this Agreement which relate in any manner to the business of the Company that Consultant may be directed to undertake, investigate or experiment with or which Consultant may become associated with in work, investigation or experimentation in the line of business of Company in performing the Services hereunder, are the sole property of the Company. In addition, any Inventions which constitute copyrightable subject matter shall be considered \"works made for hire\" as that term is defined in the United States Copyright Act. Consultant further agrees to assign (or cause to be assigned) and does hereby assign fully to the Company all such Inventions and any copyrights, patents, mask work rights or other intellectual property rights relating thereto.<br><br>I wouldn't sign such a document after doing 90% of the work. I'd take my work down another path. But if I was confronted with a decision like the one Rogers faced when Mar 15th rolled around (beware the Ides of March) I'd quite likely use the full power of my blog to ask for a little help when the Overlords came to take away my property.<br><br>Dave's contention that Rogers work is a derivative product of his code is something that might be arbitrated but it's clear to me that he's not dealing  in good faith with a contractor and it's likely that no arbitration will follow...<br><br>This is clearly a by-product of the RSS issues and Dave following through on his treats against Rogers for acting independently.<br><br>Reasonable people act reasonably.<br><br>People being victimized scream for help.<br><br>There seems to be a victim here and it's not Dave Winer. Dave's injuries are a consequence of his behaviors and tactics with a business partner.<br><br>I do think you for allowing comments on the situation. I do not have the ability to comment at Dave's site. I would encourgage him strongly to change his position on this matter. I only wish Dave had some friends that would counsel him to use his power more wisely.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-16_18:41:10", "killed": false, "user_key": "e7dd5182b72baa77441d63c06465f784", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9634453": {"up_voted": false, "ip": "", "has_replies": false, "message": "Shhh... you're distracting the <a href=\"http://www.gizmodo.com/gadgets/pcs/gates-has-harsh-words-for-100-computer-project-161011.php\" rel=\"nofollow\">Bill Gates flame up over at Gizmodo.</a>", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-16_18:51:56", "killed": false, "user_key": "b4f04f9fd2de8730cda367d361178145", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9634454": {"up_voted": false, "ip": "", "has_replies": false, "message": "One more thing, along the lines of my earlier comment:<br><br><a href=\"http://groups.yahoo.com/group/rss-public/message/304\" rel=\"nofollow\">http://groups.yahoo.com/group/rss-public/messag...</a><br><br>Read that post specifically, especially the end of it.  In that light, doesn't Dave's action look pretty bad?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-16_19:20:24", "killed": false, "user_key": "ed8f8031200fb0c334bd9658774a6f17", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9634455": {"up_voted": false, "ip": "", "has_replies": false, "message": "I've been too busy to read blogs -- lucky me!  Idle hands are the devil's tools, and all that.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-16_19:23:28", "killed": false, "user_key": "84462218fd115467952d784a69d586d6", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9634456": {"up_voted": false, "ip": "", "has_replies": false, "message": "James: I'm staying out of this one.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-16_19:32:30", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9634457": {"up_voted": false, "ip": "", "has_replies": false, "message": "<i>Cause I know how this game is played. Once Dave is outta the way, they are coming after me. Or you. Or your friends.</i><br><br>Paranoid much? WTF did you get into in Austin? Nevermind stopping reading blogs, I recommend detox.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-16_19:32:39", "killed": false, "user_key": "02ac79b9b2373a4788ae9311d19c4fb1", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9634458": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert, you don't get it...<br><br><i>you don't get to control the reaction to your writing</i>. You stick your finger in the collective eye, and you expect that the reaction will be one you approve of.<br><br>That's somewhat...unrealistic. In your case, you just provoke for hit counts, maintaining your status, and attention. Dave's a jackass to far too many people to count, and like a long-provoked dog, it's biting him on the ass. I'm sorry he's in the middle of a shitstorm, but he's been creating it for years, decades even, and now it's come back to him.<br><br>If you want nothing but kindness, you must be nothing but kind. That definition has never applied to Dave, at least not on-line.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-16_19:33:39", "killed": false, "user_key": "422187df3c45655b0dc2ae5de0710b27", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9634459": {"up_voted": false, "ip": "", "has_replies": false, "message": "It is my opinion that you Robert Scoble are relatively corrupt with regards to Dave Winer.  You basically owe him a lot for where you are today.  I think that you are willing to bow down and pay him respects when he needs it even if he doesn't deserve it.  The Web 2.0 buzz machine is corrupt in this respect.  Your attacks on the new A-list are nothing real, just spin and bs.  I think that your blog clique is trying its best to stick together (whether you have to lie about others to do it or not) because that is where the power comes from -- the synergy.  Anyways, I'm done following your blog.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-16_19:34:37", "killed": false, "user_key": "c979a0140d17ab5f1386bbc79068271b", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9634460": {"up_voted": false, "ip": "", "has_replies": false, "message": "<i>I\u2019m staying out of this one.</i><br><br>Previously:<br><br><i>Oh, and the \u201cA\u201d in the \u201cNew A List\u201d stands for Attack or, maybe, \u201cAd Hominem.\u201d</i><br><br>See previous comment. That's all I've got for this thread, if for no other reason than it's all I need. <i>Flush.</i>", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-16_19:34:51", "killed": false, "user_key": "02ac79b9b2373a4788ae9311d19c4fb1", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9634461": {"up_voted": false, "ip": "", "has_replies": false, "message": "I'm not taking sides in this. One time I stood up for Dave (over the closure of the <a href=\"http://webogs.com\" rel=\"nofollow\">webogs.com</a> blogs) and I got attacked from both sides (including Dave) for it.<br><br>I stay away from Dave (or, to quote his post today, I stay away from teh \"virtual Dave\").<br><br>The guy that walked through the restaurant in Palo Alto seemed like a nice enough guy to me. Maybe one day I'll get to meet the \"real\" Dave. If I do, I hope I can ignore the bad experiences I've had with the \"virtual\" Dave.<br><br>Either way, good on your for standing up for your friend. And good on you for not getting into the fight. Both great decisions mate :)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-16_19:36:05", "killed": false, "user_key": "490d926d48cdd8ab8349fe6206c02da4", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9634462": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert - thank you for trying to raise the quality of the discussion above that of personal attacks.  It is something that has been coming up more and more lately and it is unfortunate.<br><br>We need to set examples for how to deal with this so that the community standards shift from that of name calling and demeaning each other back to reasonable discourse focused on the issues.  I don't know if it will ever happen fully, because, as I have said before, there are always going to be assholes out there somewhere shitting on other people.<br><br>As you said, I don't know about the facts of the matter here, but this is exactly the sort of issue which is a perfect case study on decorum in the blogosphere and the nature of public disputes.  Because the blog/comment system enables it so easily, we are able to see the long tail of low value commentary much more easily - I dont necessarily think this is an attack mob, though I could see how it would FEEL like one.  I just think that all the people who have felt wronged by Dave in some way are expressing their emotions and frustrations.  Cadenhouse even admits to being an ardent supporter of Dave previously, most likely behaving in the same manner on Dave's behalf instead of against him, but I don't know those facts - just pointing out the possibility that this is subjective and shifting.<br><br>Of course, that just muddies the waters of the point I am trying to convey.<br><br>The bottom line is that people like yourself have the power to influence a lot of others to refocus the dialogue on the issues rather than resort to name calling.  But its hard, so most people will take the easy way out.  Instead of laying out an argument as to why somebody said or did something wrong, or behaved in a way that is pereceived to be inappropriate, they just call the other party names which is really just like putting some Crisco on that slippery slope...<br><br>I have been trying to make this point for the last several years, but am often dismissed by those who believe in the free form chaos of the Web - by those who say \"F___  off - its our Web and we will say what we want\".  It is a tough line to manage, because to a degree they are right - free speech means people can and should be able to say what they want.  But when the speech is of such a derogatory nature that it not only prevents the dialogue from moving forward but puts everyone 2 steps back, I don't think it plays well.<br><br>We should all learn to be more respectful of each other and to focus our energy on tearing down ideas, not people.  Robert, I hope you are able to move this idea forward better than I have been able to...", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-16_19:47:01", "killed": false, "user_key": "a059d0052ae7be5d790179b6c5fbb164", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9634463": {"up_voted": false, "ip": "", "has_replies": false, "message": "There is a much more important issue here. I've read both sides of the 'argument' and they read like two strangers trying to tell the same story. Both cannot be right.<br><br>There doesn't seem to be any basis for agreement. If, as seems the case, this has become a legal wrangle, then the worst possible place to try and rsolve it is in the court of public opinion. And in that sense, I'd say both sides have made grave errors of judgment. Grays by pushing it into the public domain in the first place and Winer for responding.<br><br>How on earth that mess gets sorted out is anyones guess. The real winners will likely be the lawyers. As usual in he said/he said arguments.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-16_19:52:41", "killed": false, "user_key": "dahowlett", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9634464": {"up_voted": false, "ip": "", "has_replies": false, "message": "Hey Robert, This must be pretty personal for you. I don't think blogging is the right medium for this type of argument. I don't know whether Dave is right on this one or not, but there were some thing which were said that made his character seem a little less good willed or a good person so to speak. I guess business is business, but I think you make a case for dirty business having no place on blogs. I don't know if it has anything to do with A lists, or B lists, we all pull our pants up in the morning.<br><br>We have to cherish a world where the inventors are giving some elbow room to do what they do best. The thoughtful ones need not have their thoughts stolen by indecency. However, should the inventing mind move to harm others for personal gain, they stand to face the same punishment that all others would get and deserve to get, I don't know whether that's public humiliation though, and I don't think it has any place in today's blogs.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-16_20:02:53", "killed": false, "user_key": "39314b9561ab4752a37c3370fbf6ee5d", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9634465": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert,<br><br>You taught me to stop blogging when I'm either depressed or pissed off. I think it's time for you to take a break. Just walk away for a while and let the Chihuahuas nip on someone else's buttocks for a few days.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-16_20:03:55", "killed": false, "user_key": "1d4361428791ca98116966800b225b3b", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9634466": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert,<br><br>You taught me to stop blogging when I'm either depressed or pissed off. I think it's time for you to take a break. Just walk away for a while and let the Chihuahuas nip on someone else's buttocks for a few days.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-16_20:04:33", "killed": false, "user_key": "1d4361428791ca98116966800b225b3b", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9634467": {"up_voted": false, "ip": "", "has_replies": false, "message": "Chris: I doubt it. Having a Microsoft guy lecture people about what is and isn't appropriate on the Web generally is NOT a good way to get mobs to sit down and be quiet! :-)<br><br>Shel: actually, I'm thinking hard about this. I probably will take a week off.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-16_20:14:57", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9634468": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert, two thoughts of your's spark a reaction in me.<br><br>\"Protect the inventor. Protect the guy who brought us SOAP, XML-RPC, RSS, OPML, podcasting, and a few other things here and there....One thing on this case: one guy called in the mob, the other guy didn\u2019t.\"<br><br>Various words immediately jump to mind. Integrity. Private. Public. Creator. Coder. Agendas.<br><br>Surely you aren't implying that Rogers isn't due something here. Also, while he may be guilty for taking things public a bit more than many would, it isn't exactly like he \"called in the mob\".<br><br>He was faced with a deadline stated in a very nasty letter sent from Winer's lawyer, a letter that resulted from Rogers' lawyer advising him to not sign an agreement... and decided to make it public.<br><br>The reaction of other bloggers antagonized things to a point of becoming a mob. But no way can you call Rogers' post \"calling in the mob\".<br><br>As for that word integrity... and agendas. Every person has an agenda. You. Me. Everyone. But it's HOW you work at furthering your agenda that brings up the word integrity. In a direct comparison of these two parties over the last few years, Winer suffers. He posts very inflammatory things then retracts them like they never existed. He doesn't allow two-way conversations (your term) by allowing comments on Scripting.Com. He changes definitions of agreements on control of RSS with Harvard.<br><br>These can't help but make one wonder what his real agenda is regarding his recent posts of \"retiring\", this \"virtual Dave\", and his dealings with Rogers.<br><br>Second quote:<br><br>\"No one kept their head \u2014 the knives and guns just came out in this street fight. No one called both sides and did some real reporting. No one added any value. \"<br><br>[Insert wry laugh here.]<br><br>Sorry about that. Couldn't help it - my warped sense of humor combined with my outlook on life and business and overhype.<br><br>Wasn't it just about a year ago that the big meme was \"citizen journalism\"?<br><br>Enough said on that point.<br><br>Look Robert, I applaud you for sticck up for a friend in need. I understand you current anguish on things. And you are right - stay out of it. This isn't your fight. Nor mine. Nor, well, anyone except Dave and Rogers.<br><br>Meaning you are also right - others are delighting in meddling in this way more than anyone should feel comfortable about.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-16_21:06:16", "killed": false, "user_key": "dba9deebd401367b9184dec7862ae04a", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9634469": {"up_voted": false, "ip": "", "has_replies": false, "message": "I agree with Robert sticking to what matters to him.<br><br>With regard to private disputes, they get resolved privately, sometimes with the help of lawyers and judges, but I don't any reason to want to vote.  And I feel like I'm being put in the middle when someone expects me to take sides on something for which I can never know all of the relevant facts.<br><br>I've thought about this, and I think what I will do is stay out of private disputes and also not give any public voice to them if I can help it.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-16_21:12:20", "killed": false, "user_key": "d3c4cdb15c832cfc746367a033b0d356", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9634470": {"up_voted": false, "ip": "", "has_replies": false, "message": "Blogosphere is plagued by a lot of folks looking for negative attention - 3rd graders acting up in class to get people to notice.<br><br>See it for what it is and avoid the pissing matches.  Engage with the people who disagree with you intelligently and ignore the name callers. I think you've inspired a lot of people (the silent majority).", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-16_21:13:22", "killed": false, "user_key": "341d60db0a0de2505113f9f1e1336f17", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9634471": {"up_voted": false, "ip": "", "has_replies": false, "message": "blog rule #1: anyone proclaiming he's A-list more than once a week: IS NOT A-LIST. In fact, anyone still dividing the blogs in the net is definitely not a-list. I move we scrap the whole a-list meme; it's gotten boring. Also: Dave REALLY should step back. And anyone working at MS should NEVER get involved in a discussion about web standards: god knows MS has done their best to kill any open standard. HTML, Java, or maybe you want to talk about the cross-platform capability of activeX? oh, right, THERE IS NONE.<br><br>RSS is already out there. It works. Extensions work. Since this BS surfaced I suddenly understand and sympathise with Atom, which I never got. The clue: all these people know and worked with Dave. And THAT's why they split.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-16_21:42:29", "killed": false, "user_key": "15ceeef84bcec075e2dc57c844b8dbcf", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9634472": {"up_voted": false, "ip": "", "has_replies": false, "message": "Michiel: who cares who is on the A list anyway. It doesn't mean anything. It hasn't made me wealthier. Or better looking.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-16_22:01:30", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9634473": {"up_voted": false, "ip": "", "has_replies": false, "message": "Something completely OT, but maybe it really isn't since this is an example of all that is good about blogging:<br><br>From a blog I only discovered recently: <a href=\"http://www.badastronomy.com/bablog/2006/03/16/new-wmap-results-quantum-fluctuations-galaxies-and-the-first-stars/\" rel=\"nofollow\">New WMAP results: quantum fluctuations, galaxies, and the first stars</a><br><br>Fascinating!<br><br>How did I discover it? <a href=\"http://scobleizer.wordpress.com/2006/03/05/the-john-dvorakification-of-the-blogosphere-im-signing-off-of-memeorandum/\" rel=\"nofollow\">Robert</a> posted a link to a <a href=\"http://www.bloglines.com/blog/AlexFeldstein?id=624\" rel=\"nofollow\">blog</a> that link to this <a href=\"http://www.badastronomy.com/bablog/\" rel=\"nofollow\">blog</a>.<br><br>Again, could be OT, but everything that IS good about living in these times!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-16_22:02:56", "killed": false, "user_key": "dba9deebd401367b9184dec7862ae04a", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9634474": {"up_voted": false, "ip": "", "has_replies": false, "message": "It's so depressing to see people I admire in conflict. We should all have tried to pay more attention to Mena Trott's message.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-16_22:07:57", "killed": false, "user_key": "98583d556bf0b5c55f7a62217ceeafcc", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9634475": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert,<br><br>If you didn't care about the A-List, and being on it, you would talk FAR more often about stuff that isn't blogging. Your own orbit around the subject casts severe doubt on your claims of \"not caring about the A-List\".", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-16_23:21:59", "killed": false, "user_key": "422187df3c45655b0dc2ae5de0710b27", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9634476": {"up_voted": false, "ip": "", "has_replies": false, "message": "John: at some point I did care. Lately, though, I've become convinced it just isn't something worth getting onto and, if you are on, staying on. All it does is generate email from marketers trying to get you to talk about their products and you get lots of people in your comments telling you what a jerk you are.<br><br>Wheee, yes sirrreeee. I'm having fun now!<br><br>Not. Which is why I'm gonna take some time off and hang with my wife. Have fun!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-16_23:38:20", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9634477": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert,<br><br>Your points are well taken. But<br>just because someone (Dave W.) is<br>your friend doesn't mean they are<br>incapable of doing something REALLY<br>dumb.<br><br>In this case, Dave W. has gone<br>to the mat against Roger C., a guy<br>who has been a strong and vocal supporter of Dave W when others<br>were less generous.<br><br>Being extremely smart and creative<br>(as Dave W absolutely is) doesn't<br>give them license to be vindictive.<br><br>I don't know Dave except through his writings. I see two Daves, as someone pointed out. One is your friend,<br>and he's a GREAT, witty and funny guy.<br><br>It's the \"other\" Dave people are jumping on.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-16_23:49:29", "killed": false, "user_key": "0df61aba57e643b39833d6442cbc7ba1", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9634478": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert,<br><br>  I have to agree with you that people are being viscous in the attack against Dave.  But let's face it - Dave is a genious, AND he is an asshole.  I respect Dave, I don't bash him, and I DO NOT like him.  But I read him every day.  Because I respect him.<br><br>  Wnhy is he an asshole?  Because he bought into who \"Dave\" is.  He bought the hype, he turned the corner, and now it's not primatrily what Dave can do for us, but what can Dave do that makes him look good to us.<br><br>  Harsh.<br><br>  Yep.<br><br>  But then so is this recent email exchange (taken from memory, but I know Dave can pull up the origionls out of his RSS/OPML history from hell.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-16_23:49:51", "killed": false, "user_key": "8d5bac396c79513d3c14008928936c1a", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9634479": {"up_voted": false, "ip": "", "has_replies": false, "message": "Ron: let the first one among you who haven't done anything dumb throw the first flame! :-)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-16_23:54:32", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9634480": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert,<br><br>  I have to agree with you that people are being viscious in the attack against Dave.  But let's face it - Dave is a genious, AND he is a complete asshole. OK - he bought your kids a computer - maybe if he bought mine one, I would be more obliging to him. I respect Dave, I don't bash him, but I DO NOT like him.  But I read him every day.  Because I respect him.<br><br>  Wnhy is he an asshole?  Because he bought into who \"Dave\" is.  He bought the hype, he turned the corner, and now it's not primatrily about what Dave can do for \"us\", but what can Dave do that makes him look good to \"us\".  \"He\" is \"them\".  And we are all afraid of \"them\".  Dave *IS* and ass (and I bet he even realizes it on occasion).<br><br>  Harsh.<br><br>  Yep.<br><br>  But then so is this recent email exchange (taken from memory, but I know Dave can pull up the origionls out of his RSS/OPML history from hell).<br><br>I told Dave I like reading his TECHNICAL blog entries, but not his personal or political ones.  I asked him if he would consider making a second blog for non tech stuff.  His response?  Basically it was: \"Fuck no, never\".  Not \"thanks for reading\", not \"I understand we have a difference of opinion\", NOT any sign that I was a SIGNIFICANT person to him - I'm not.  And that's why Dave needs to shut the hell up - he no longer (if he ever did) talks for the user, the guy on the line, the gal at the help desk.  Dave talks to and for Dave.  Dave is a narcissist.  Really.  Argue if you will - I've known lots of them<br><br>Now that is fine - it's his blog, and he is free to do what he wants with it - but when he treats people like they are less than people, then he becomes less than a person to me.  And when that happens he loses respect, and those that still respect him also lose respect.  You are the people you associate with.<br><br>Bottom line.  Dave DOES need to quit blogging.  He is either too bitter, or too stuck on himself to add any real value anymore beyong writing new specifications (please keep doing that).  But please - DO NOT think you are my voice, or that I care what you think anymore - you've burned that bridge Dave, and not just with me.  Perhaps, finally, you've burned too many bridges.<br><br>And this isn't even about the law suit challenge - it's about who Dave was ten years ago, and what Dave THINKS he is today.  Ten years ago, he was a better Dave.<br><br>Anyway, that's my rant.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-17_00:04:25", "killed": false, "user_key": "8d5bac396c79513d3c14008928936c1a", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9634481": {"up_voted": false, "ip": "", "has_replies": false, "message": "<i>generate email from marketers trying to get you to talk about their products</i><br><br>I thought that was all aparta the 'naked conversations'. I think someone wrote a book on that.<br><br><i>lots of people in your comments telling you what a jerk you are.</i><br><br>Can't stand the heat, get outta the kitchen. So all blogs are good for be marketing spam and \"hate\" commenters? Even I won't go that far. Burnout gone to your head, it happens. Stop taking it all so seriously, you point-blank asked for the marketing, and comments are half community-theater performances.<br><br>Thick skin, thick skin. It got you conference travel miles serious, various other random junkets, freebies, money, power, a coolish (tho inept) shaky-cam Microsoft jobbie, that's all gravy. O frabjous day! Callooh! Callay! The petty blog wars, be not your fight.<br><br>All mimsy were the blogrogoves, and the mome commentraths outgrabe.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-17_00:33:18", "killed": false, "user_key": "cab1041ab2de14f71e070c15f8ae968e", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9634482": {"up_voted": false, "ip": "", "has_replies": false, "message": "Scoble, I think you are right, and your post resonated with me. You can hit my blog if you want to read more.<br><br>Feel better.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-17_00:53:40", "killed": false, "user_key": "b9ed774661a22ff8797a1e0e24f0baf3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9634483": {"up_voted": false, "ip": "", "has_replies": false, "message": "<i>My philosophy? I want better software. More software. More geek toys. More things that improve my life.</i><br><br>And yet you take money from and defend your convicted monopolist felon employer.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-17_04:39:19", "killed": false, "user_key": "9aae0e2c1503b1e541e4c4cb9bb08f0a", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9634484": {"up_voted": false, "ip": "", "has_replies": false, "message": "I read many of the so-called A-listers' blogs because I am a geek at heart and find them interesting.  I don't belong to the club, but I'm familiar with the players.  As a person who has been involved in community for many years, I know that flame wars are part of online life and can flare up, even between good friends.<br><br>I also know that whatever the real story is, it isn't all out on the blogs.<br><br>I don't understand why anyone would publish a lawyer's letter on their site and I don't understand why people think that airing dirty laundry in public is a good thing.  It's a little like watching your friends go through a sloppy, ugly divorce.  You hate to see it happen but dont' seem to get away from it.<br><br>Sites like Tailrank and Memeorandum just drag it out longer.<br><br>I read the comments on <a href=\"http://cadenhead.org\" rel=\"nofollow\">cadenhead.org</a> and had the same reaction as you.  There were far too many ad hominem attacks, similar to the one on you and Microsoft just above mine.  It does nothing to further the conversation and the conversation itself is one that would best be held in private without the rest of us participating.<br><br>I hope that happens, because what I want to read about is all the cool things coming for geeks like me, not personal and/or business disputes between the \"players\".<br><br>I hope you feel better soon.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-17_06:10:28", "killed": false, "user_key": "929384c59c9949b86228a73266f5167f", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9634485": {"up_voted": false, "ip": "", "has_replies": false, "message": "\"No one called both sides and did some real reporting\"<br><br>That's right, Robert. Why should they? There's no money in it.<br><br>The difference between \"professional journalism\" and \"citizen journalism\" comes down to money, because money makes it possible for someone to concentrate time and resources on a story. A professional journalist covering this would ring Dave, ring Rogers, do some digging, get to the bottom of it. Someone who doesn't have the time because they're not being paid to do it won't do it.<br><br>\"One thing on this case: one guy called in the mob, the other guy didn\u2019t. That says volumes to me.\"<br><br>That's actually a bit rich. There have been plenty of occasions in the past when Dave has \"called in the mob\" as you put it. And posting a threatening legal letter - which is what Rogers did - is pretty much standard practice on the internet these days.<br><br>At the end of the day, Robert, THIS is the wisdom of crowds that many folks, including you, have been talking about. Crowds become lynchmobs and witch hunts at the drop of a hat, and the internet amplifies that. Anyone who'd ever done researching into the psychology of crowd behaviour could have explained this - but instead, a band of techno-utopians somehow thought that crowds on the internet would act differently to other crowds.<br><br>The only time that crowds become wise is when they're mediated through money: Markets, not crowds, are never wrong.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-17_06:13:12", "killed": false, "user_key": "8fbd1902c9d786dd42a39d3e081ff778", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9634486": {"up_voted": false, "ip": "", "has_replies": false, "message": "Incidentally, Robert, as you're his friend it might be worth reading Rogers' comment (<a href=\"http://www.cadenhead.org/workbench/news/2881/letter-dave-winers-attorney#46443\" rel=\"nofollow\">http://www.cadenhead.org/workbench/news/2881/le...</a>) where he explains why he didn't sign the contract that Dave offered. If you could get that message through to Dave, it might help to clear up this mess.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-17_06:45:31", "killed": false, "user_key": "8fbd1902c9d786dd42a39d3e081ff778", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9634487": {"up_voted": false, "ip": "", "has_replies": false, "message": "Right on.<br><br>My thoughts in visual form:<br><br><a href=\"http://www.toothpastefordinner.com/030806/internet-fantasy.gif\" rel=\"nofollow\">http://www.toothpastefordinner.com/030806/inter...</a>", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-17_07:08:39", "killed": false, "user_key": "4e0db9bd84f3945bf6f8ff77dc53ae55", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9634488": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert, please. Half, if not three-quarters of your value to Microsoft comes from this blog.<br><br>Otherwise, you're just a division evangelist doing happy little internal videos for internal marketing.<br><br>Like it or hate it, this blog is what makes your value.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-17_07:52:29", "killed": false, "user_key": "422187df3c45655b0dc2ae5de0710b27", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9634489": {"up_voted": false, "ip": "", "has_replies": false, "message": "<a href=\"http://www.wired.com/wired/archive/9.05/winer_pr.html\" rel=\"nofollow\">http://www.wired.com/wired/archive/9.05/winer_p...</a><br><br>\"He can't apply the same standards to himself that he applies to others,\" says humorist and programmer Greg Knauss, who last year created the WinerLog parody site (since taken over by a much angrier and less funny group of contributors who write under the collective name Zaphod). \"He'll launch into people really hard, doing over-the-top, needless stuff, like posting sexual slurs about Rogers Cadenhead when they disagreed, but then he says there is to be no flaming on his own site.\" Cadenhead, the author of best-selling books on Java programming and other software topics, disagreed with Winer over the propriety of the Third Voice site-editing technology; Winer responded by pointing to a childhood picture of Cadenhead on the author's site and writing, \"See the little boy? Want to have sex with him?\"<br><br>Did Dave ever apologize publicly for this? I think not.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-17_08:37:45", "killed": false, "user_key": "d4e16de986f6b2c6e1b314ab33a4f809", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9634490": {"up_voted": false, "ip": "", "has_replies": false, "message": "Scoble, I read your blog for the tech.  Your purpose as you stated is to show new, cool stuff that makes your life better.  Please keep that up.<br><br>People will always get into pissing matches.  What's the best thing to do?  Stay on the sidelines.  Don't get involved.  If you keep showing off the cool stuff and are honest about it, it works itself out.<br><br>Really appeciate the tech that you have shown off.  Most of my friends are amazed at what I pass along to them from this blog.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-17_10:32:02", "killed": false, "user_key": "db8b90f0fd5c99a46159975ebdd9776c", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9634491": {"up_voted": false, "ip": "", "has_replies": false, "message": "It seems rather presumptuous to assume any responsibility for the blogosphere at large.  If not for you some other schmuck would have arisen in your stead, and after you leave a thousand more will jockey for your place on the list.<br><br>Given the sheer number of people who Mr. Winer has wounded and enraged, I can't help wondering if all of them can really be in the wrong or if the blame more likely rests on the one person whom they have in common.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-17_11:52:52", "killed": false, "user_key": "be4e7fd208d47dce6697eb579cf3a32f", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9634492": {"up_voted": false, "ip": "", "has_replies": false, "message": "\"Winer responded by pointing to a childhood picture of Cadenhead on the author\u2019s site and writing, \u201cSee the little boy? Want to have sex with him?\u201d\"<br><br>WTF?!?! What the hell did he hope to achieve by doing that? Robert, if you are truly his friend, and I suspect you are - take him to get therapy.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-17_12:41:00", "killed": false, "user_key": "4fe19b3352f366bef89ea9cdf6c0e0c9", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9634493": {"up_voted": false, "ip": "", "has_replies": false, "message": "It's just Dave. You should have heard the stream of hate when Apple didn't make Frontier the language for Apple Events.<br><br>It's like this...Dave can say whatever Dave wants because Dave is always right.<br><br>If you're not Dave, then shut up, and live with that inferior state, quietly, so you don't disturb Dave and the greatness that is Dave.<br><br>He may be MUCH different in person, but on line? That's Dave. ANd if he IS much different in person, that's actually worse, because then it's just Internet Balls", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-17_12:57:08", "killed": false, "user_key": "422187df3c45655b0dc2ae5de0710b27", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9634494": {"up_voted": false, "ip": "", "has_replies": false, "message": "You can only take the \"protect the inventor\" thing so far.  If Thomas Alva Edison had gone on a killing spree and had been caught red-handed, OF COURSE he'd say, \"I'm *Edison,* I invented the *lightbulb,* you can't touch meeee!!!\"<br><br>And he would have gone to the gas chamber anyway.<br><br>(And ironically, the gas chamber would have been lit with electric light bulbs.)<br><br>I understand you want to stick up for your friend, too.  That's natural.<br><br>But look at the pingback Dave Winer gave you on this post (comment 40).  \"Scoble laments all the flamers in the thread on Rogers Cadenhead\u2019s site, but isn\u2019t it obvious that the purpose of his post was to get a flamewar going?\"<br><br>Dude.<br><br>You're apparently one of his few allies and supporters, and when you write a post *supporting* him, calling him a great inventor and personal friend, he accuses you of WANTING TO START A FLAMEWAR.  He accuses you of *betraying* him.<br><br>Maybe that should tell you something?<br><br>\"No one called both sides and did some real reporting?\"  You're friends with Winer, and can probably get a hold of Cadenhead.  Talk to both of them for 10 minutes and do some real reporting on your blog.  Stop cursing the darkness and light a candle.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-17_12:59:42", "killed": false, "user_key": "67ddf598c32d0ae929852af89fa4b272", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9634495": {"up_voted": false, "ip": "", "has_replies": false, "message": "Although we embrace the social software scene, collaborative sites, email, im, and the like, none of these tools replaces face-to-face communciation.<br><br>Sure, it brings our world closer together.  I get to connect with like-minded people who I wouldn't be able to meet otherwise.  However, how often are the people you \"met\" online identically the same as when you finally get to meet them in person.<br><br>We have a long way to go because although electronic tools for communciation becomes more sophisticated, it still complicates the simplicity of face-to-face communication.<br><br>Sure, in Geekdom, I'm sure some of us communicate more effectively via a keyboard and computer monitor rather than meeting face-to-face, but that's a poor excuse.<br><br>In the case with Winer and Cadenhead, I really cannot comment because I was not privy to the details.  What I can say, however, is that if they are, indeed, friends, then they would have found a way to bridge the miscommunication.  Winer has a habit of coming across in a negative fashion.  Not everyone has a stellar personality, and for others, it comes across even worse in this environment if we are not good communicators to begin with.<br><br>These 'A'-listers ar no different than the old school folks, except that now there's many more people participating in this digital-social-communication medium.<br><br>Perhaps we should heed our mother's advice (\"if you cannot say anything nice...\") by following the following social rule:<br><br><em>Blogger Rule #1: Only write what you would tell your audience (whether it be one or many) in a face-to-face encounter</em><br><br>And for Pete's sake, leave the adolescent bitchfest out of the blogosphere.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-17_13:25:51", "killed": false, "user_key": "ed69d65d969748c0106976bd918ea7d8", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9634496": {"up_voted": false, "ip": "", "has_replies": false, "message": "Karim, it looks to me that when Dave says \"his post\" in that context he is referring to Roger Cadenhead, not Scoble, as wanting \"to get a flamewar going.\"", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-17_13:53:36", "killed": false, "user_key": "2afda69a8f9e4dd38401dad300f1a570", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9634497": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert, not to change the subject from all this fun, but have a nice weekend.  Although it looks like rain is on the forecast for Seattle.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-17_13:57:06", "killed": false, "user_key": "2afda69a8f9e4dd38401dad300f1a570", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9634498": {"up_voted": false, "ip": "", "has_replies": false, "message": "Scott -- you're right, it looks like Winer might be referring to Cadenhead as wanting to start a flamewar.  I think it's a little ambiguous, as I thought the subject was *Scoble's* lament, but it makes more sense that Winer would think *Cadenhead* was trying to start a flamewar.<br><br>If, in fact, THAT makes any sense.  The replies to Cadenhead's post look like about 500 people all going \"YEAH!!!  WINER'S AN ASS!!!\" in *unison*.  Which isn't pretty, but still, I thought for a flamewar there had to be some *disagreement.*<br><br>Just goes to show you how these things can get easily misunderstood...?<br><br>Thanks for pointing that out.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-17_15:28:48", "killed": false, "user_key": "67ddf598c32d0ae929852af89fa4b272", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9634499": {"up_voted": false, "ip": "", "has_replies": false, "message": "It's the same for TV, press and blogs - if it sells people will write it.<br><br>As much as we may dislike it, the mob loves a hunt, and all of us find it irresistible sometimes.<br><br>The worst thing you can do is give it more attention and that's what you've just done.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-17_15:56:55", "killed": false, "user_key": "d95ea57c48ed97c4309f96d28a04791f", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9634500": {"up_voted": false, "ip": "", "has_replies": false, "message": "Just to present one point - not in Dave's favor - in an argument that seems fated for a public smackdown.<br><br>Scoble: \"No one added any value.\"<br><br>mcdmcblog (comment #15: \"I do think you for allowing comments on the situation. I do not have the ability to comment at Dave\u2019s site.\".<br><br>Scripting.Com post today, obviously referring to things: \"People who doubt that thoughtful discourse is possible in the blogosphere, need only look....\"<br><br>My main beef with Scripting.Com is just that. \"thoughtful discourse\". \"citizen journalism\". \"allowing comments\".<br><br>Until Dave can act like a proper \"citizen\" journalist....meaning allowing conversation and also not posting vindictively and then pulling said posts... he'll fail to win my vote on credability. He'll always cause me to wonder why (a) he is being maligned and (b) what his agenda is about with the words he'll allow to stay public on Scripting.Com.<br><br>Robert, this is not said as \"mob mentality\" or \"ad hominem\" in Dave's direction in any way. Rather, it's a judgement long in making since 2000, and it's a judgement based on understanding how things work in this world.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-17_21:16:54", "killed": false, "user_key": "dba9deebd401367b9184dec7862ae04a", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9634501": {"up_voted": false, "ip": "", "has_replies": false, "message": "You hit the nail in the head! We are skilled at using constructive tools for destruction.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-17_21:17:20", "killed": false, "user_key": "231c2bf1a0f151ea6892c61523c47476", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9634502": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert, stick with your principles. I applaud you. I\u2019m surprised that the blogosphere, still relatively new given that I am still asked what a blog is, has bred so much cat-&#64257;ghting. Particularly as many bloggers are educated people. Maybe it\u2019s the fatigue talking, but I remember the World Wide Web being more civilized at the same point in its history.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-17_23:49:13", "killed": false, "user_key": "Jack_Yan", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9634503": {"up_voted": false, "ip": "", "has_replies": false, "message": "Buhuhu. Bad people are taking over the world. The revolution eats one of it's inventors. Maybe the first homo bloggies are simply burned out and have to move aside?<br><br>Of course there is a lot of crap out there and people attacking people. But that's fairly human - isn't it. Maybe the founding geek bloggers have finally to realize that NORMAL people and social behaviour has caught up with them?<br><br>This is developing into a trauma - very similar to old internet farts talking about the beginnings of usenet or compuserve ... the days before mainstream happened.<br><br>The 'golden age' of blabla a purely 'educated' geek flame wars. Yeah, sure! Dream on ...", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-18_03:18:41", "killed": false, "user_key": "c5ab19ea1857adbdcdeeed6b68848043", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9634504": {"up_voted": false, "ip": "", "has_replies": false, "message": "People are people .. everywhere.  Dave W. has left a long streak of angry, disappointed or bemused people behind him .. and if you read his posts over time and watch how he uses language .. he baits, he provokes, he says snide and catty things about other people often, using passive / aggressive syntax and sentence construction.<br><br>If there were only one or two *documented* instances of a**holishness, that would be one thing .. but there are more than one or two, and over a reasonably impressive time period ...<br><br>He must have been deeply hurt by having been ignored or not heard at an early stage in his life .. that's all I can imagine ...", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-18_13:46:14", "killed": false, "user_key": "1d3b7111891d2ee57c9954c1dcc435f5", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9634505": {"up_voted": false, "ip": "", "has_replies": false, "message": "@JJ: <em>People are people .. everywhere. Dave W. has left a long streak of angry, disappointed or bemused people behind him ...</em><br><br>Maybe so. But was anyone ever forced to read his blog? And is anyone forced to read this new A-List Assault Teams? No. Most of this stuff is just opinions ... so we can choose to get excited or aggravated about them.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-18_21:09:31", "killed": false, "user_key": "c5ab19ea1857adbdcdeeed6b68848043", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9634506": {"up_voted": false, "ip": "", "has_replies": false, "message": "Orangeguru (no. 74) has a point, but I felt I expressed it better. Just kidding. My real message: the sad thing is that it has taken a shorter amount of time for the nutters to begin blogging. I wonder if that means society is getting worse, or whether that\u2019s merely a consequence of technology being available to more people. Maybe both. But if it\u2019s the former, it would be awfully nice to think we could do something about it.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-19_07:24:59", "killed": false, "user_key": "Jack_Yan", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9634507": {"up_voted": false, "ip": "", "has_replies": false, "message": "How to participate by not participating. . . .", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-20_18:57:51", "killed": false, "user_key": "d04749fcefa2afaee599134b653963e2", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9634508": {"up_voted": false, "ip": "", "has_replies": false, "message": "hooray for blogocombat!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-22_00:49:21", "killed": false, "user_key": "af141f2786204d53f3768f5e8d23da03", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9634509": {"up_voted": false, "ip": "", "has_replies": false, "message": "I'll be frank Robert. Most of us are sick and fed up with the Scobles and Winers labeling themselves as the cream of the blogosphere. A cut above the rest of us. The blue-bloods of blogdome that the rest of us mere mortals should grovel and \"suck up\" to.<br><br>What do you expect when you create a class system like that? Of course the 'peasants' are going to throw tomatoes and yell \"off with his head\". It's human nature.<br><br>Sorry for being the bearer of bad news my friend but here is my advice. Both yourself and Dave and the rest of the rabble should cut the bullshit \"A-List\" conflab and don't take yourself so seriously. Because believe it or not -- most of us don't.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-22_07:32:32", "killed": false, "user_key": "aa40dc6757d9e53ff1aaca2dc6bb4625", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9634510": {"up_voted": false, "ip": "", "has_replies": false, "message": "Here's an objective outsider's take on this, for what it's worth:<br><br>It doesn't matter who likes who, who has how many friends or enemies, who did what to who in the past, or who did or said what outside of the public eye;  the case has to be judged by what was done publicly in connection with this specific incident if we want to see who's in the wrong in this case.<br><br>Something I've found to be invariably true is this;  a good, decent person never, ever, EVER shares private correspondence without the clear permission of all parties.  NEVER.  Someone who'd put a private letter in a totally public forum, aimed at an audience who any moron would know would react viciously towards the source of the letter, and such that said source will be sure to see said reaction, is FAR from being a saint;  this is a calculatedly evil act, and, regardless of how much the letter-sharer was provoked, it's absolutely inexcusable and puts them 100% in the wrong for this particular altercation.<br><br>Perhaps Dave Winer is an objectively bad person;  just be aware that Rogers Cadenhead has shown that he isn't any better.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-26_18:29:51", "killed": false, "user_key": "b188d046267bb5cddbc457580551297d", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9634511": {"up_voted": false, "ip": "", "has_replies": false, "message": "It's alive, it's alive, it's the blogosphere.<br>You have built the perfect blog here Scoble.<br>You have given me a reason to live and I can't stop blogging and reading your genius marketing ideas.  I require more software to reach the next vista of geek uniformity and enslave the dumb serfs.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-04-01_05:00:13", "killed": false, "user_key": "04dbe0958e443205859292d215702b3f", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9634512": {"up_voted": false, "ip": "", "has_replies": false, "message": "I think that what you've described is an ordinary life situation. In the blogosphere there are the same people as in real life and you can't change them.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-04-04_09:58:27", "killed": false, "user_key": "c38369dd3a9a0e99eb40cec98761b3f3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9634513": {"up_voted": false, "ip": "", "has_replies": false, "message": "Eddie800 <a href=\"http://frogger.com/\" rel=\"nofollow\">poker</a>xvv", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-07-21_05:16:16", "killed": false, "user_key": "30a93bc390dbfe85ddf90f18419c784e", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}}, "integration": {"receiver_url": "", "theme": 4, "reply_position": true, "disqus_logo": false}, "timer": {"timer_url": "http://localhost:8005", "thread_id": "18369420", "user_id": "anonymous", "forum_id": "125200", "hash": -7343510268733129852}, "thread": {"total_posts": 0, "paginate": false, "per_page": 0, "slug": "the_new_a_list", "num_pages": 1, "days_alive": 0, "realtime_paused": true, "id": 18369420, "num_posts": 73, "closed": true, "queued": false, "killed": false}, "reactions_limit": 10, "context": {"show_reply": false, "use_fb_connect": true, "forum_facebook_key": "faaf467d0f47abde553c3b8e0e1b3570", "use_yahoo": false, "subscribed": false, "use_twitter_signin": true, "use_openid": false, "realtime_speed": 5000}, "reactions_start": 0, "settings": {"debug": false, "disqus_url": "http://disqus.com", "media_url": "http://media.disqus.com"}, "media_url": "http://media.disqus.com"};
	/* */ this.jsonData.cookie_messages = {"user_created": null, "post_has_profile": null, "post_twitter": null, "post_not_approved": null}; this.jsonData.session = {"url": null, "name": null, "email": null}; /* */

	
	this.curPageId = 'dsq-comments';

	this.frames = {};
};

var disqus_popup_reference = null;

if(typeof DsqLocal == 'undefined') {
	DsqLocal = {};
}



/**
 * Dsq.Strings: UI strings
 */
Dsq.Strings = new function() {
	this.ADD_NEW_COMMENT = "Add New Comment";
	this.LOG_INTO_DISQUS = "Log into DISQUS";
	this.USE_MEDIA = "Use Media";
	this.LOGOUT = "Logout";
	this.SHARING_OPTIONS = "Sharing options";
	this.SHARE_ON = "Share on";
	this.TWEET_THIS_COMMENT = "Tweet this comment";
	this.SHARE_ON_NEWSFEED = "Share on news feed";
	this.SEND_UPDATE_TO_YAHOO = "Send update to Yahoo!";
	this.REBLOG_ON = "Reblog on";
	this.CONFIGURE_OPTIONS = "Configure options";
	this.POST_AS = "Post as";
	this.SORT_BY = "Sort by";
	this.SUBSCRIBE_BY_EMAIL = "Subscribe by email";
	this.SUBSCRIBE_BY_RSS = "Subscribe by RSS";
	this.POPULAR_NOW = "Popular now";
	this.BEST_RATING = "Best Rating";
	this.NEWEST_FIRST = "Newest first";
	this.OLDEST_FIRST = "Oldest first";
	this.HIGHLIGHTED = "Highlighted";
	this.UNSUBSCRIBE = "Unsubscribe";
	this.REQUIRED = "Required";
	this.OPTIONAL = "Optional";
	this.YOU_ARE_COMMENTING_AS_A = "You are commenting as a";
	this.LOGIN_BELOW = "Login below";
	this.PLEASE_LOGIN_BELOW_TO_COMMENT = "Please login below to comment.";
	this.SUBSCRIBE_TO_ALL_COMMENTS_BY_EMAIL = "Subscribe to all comments by email";
	this.DO_NOT_SUBSCRIBE_TO_COMMENTS = "Do not subscribe to comments";
	this.REALTIME_UPDATING_IS = "Real-time updating is";
	this.ENABLED = "enabled";
	this.PAUSED = "paused";
	this.PAUSE = "Pause";
	this.RESUME = "Resume";
	this.SHOW = "Show";
	this.JUST_NOW = "Just now";
	this.REPLY = "Reply";
	this.EDIT = "Edit";
	this.FLAG = "Flag";
	this.MODERATE = "Moderate";
	this.CANCEL = "Cancel";
	this.REPLYING_TO = "Replying to";
	this.REPORT_MISSING_REACTIONS = "Report missing reactions";
	this.POST_A_COMMENT = "Post a comment";
	this.FLAG_INAPPROPRIATE_COMMENT = "Flag inappropriate comment";
	this.FLAGGED = "Flagged";
	this.NO = "No";
	this.YES = "Yes";
	this.NEVER_MIND = "Never mind";
	this.ARE_YOU_SURE_YOU_WOULD_LIKE_TO_REPORT_THIS_COMMENT_TO_A_MODERATOR = "Are you sure you would like to report this comment to a moderator";
	this.THIS_WILL_FLAG_COMMENTS_FOR_MODERATORS_TO_TAKE_ACTION = "This will flag comments for moderators to take action";
	this.TO_RATE_PLEASE_LOG_IN = "To rate, please log in";
	this.JUST_A_MOMENT = "Just a moment...";
	this.GUEST = "Guest";
	this.NAME = "Name";
	this.EMAIL = "Email";
  this.WEBSITE = "Website";
  this.SETTINGS = "Settings";
  this.MODERATOR_OPTIONS = "Moderator options: ";
  this.MODERATE_OPTIONS = "Moderate Options";

  // Thread moderator actions
  this.CLOSE_THREAD = "Close thread";
  this.OPEN_THREAD = "Open thread";
  this.REMOVE_THREAD = "Remove thread";
  this.RESTORE_THREAD = "Restore thread";
  this.ACTIONS = "Actions";
};
// Dsq.Strings

/**
 * Dsq.FmtStrings: functions that return interpolated UI strings
 */
Dsq.FmtStrings = new function() {
	// Seems we have to use named interpolation for Django to translate. Investigate more.
	this.LOGGED_IN_AS = function(username) {
		return Dsq.Utils.interpolate('Logged in as %(username)s', {username:username});
	};

	this.LOGOUT_FROM = function(disqus) {
		return Dsq.Utils.interpolate('Logout from %(disqus)s', {disqus:disqus});
	};

	this.SHOWING_COMMENTS_FULL = function(total, num) {
		if (num === 1) {
			return Dsq.Utils.interpolate("Showing <span id='dsq-num-posts'>%(num)s</span> of <span id='dsq-total-posts'>%(total)s</span> comment", {num:num, total:total});
		} else {
			return Dsq.Utils.interpolate("Showing <span id='dsq-num-posts'>%(num)s</span> of <span id='dsq-total-posts'>%(total)s</span> comments", {num:num, total:total});
		}
	};

	this.SHOWING_COMMENTS_WITHOUT_PAGINATION = function(num) {
		if (num === 1) {
			return Dsq.Utils.interpolate("Showing <span id='dsq-num-posts'>%(num)s</span> comment", {num:num});
		} else {
			return Dsq.Utils.interpolate("Showing <span id='dsq-num-posts'>%(num)s</span> comments", {num:num});
		}
	};

	this.NUMBER_OF_COMMENTS = function(num) {
		return Dsq.Utils.interpolate(
			(num == 1
				? '%(num)s comment'
				: '%(num)s comments'
			), {num:num});
	};

	this.NUMBER_OF_LIKES = function(num) {
		return Dsq.Utils.interpolate(
			(num == 1
				? '%(num)s like'
				: '%(num)s likes'
			), {num:num});
	};

	this.NUMBER_OF_POINTS = function(num) {
		return Dsq.Utils.interpolate(
			(num == 1
				? '%(num)s point'
				: '%(num)s points'
			), {num:num});
	};
};
// Dsq.FmtStrings





Dsq.CSRF_TOKEN = 'a2d140c59df8cd4ce27a20e0829cacd8';
Dsq.COMMENTS_RE = /(<li.*?id="?dsq-comment-(\d+)"?.*?>)((?:.|\s)*?)(<\/li>)/gim;
Dsq.POST_RE = /(<div.*?id="?dsq-comment-header-(\d+)"?.*?>)((?:.|\s)*?)(<\/div>)\s*(<div.*?class="?dsq-comment-body"?.*?>)((?:.|\s)*)(<\/div>)/gim;
Dsq.POST_BODY_RE = /\s*(<div.*?id="?dsq-comment-message-(\d+)"?.*?>)((?:.|\s)*)(<\/div>)/gim;
// HACK: Safari ends with "-->" while other browsers end with "--&gt;" as expected.
Dsq.MEDIA_POST_RE = /&lt;!--\[(.*?)\]--(?:>|&gt;)/gim;



var FragmentPacket = function(reader, writer, writer_url, is_child, receiveCallback) {
	var that = this;
	this.reader = reader;
	this.writer = writer;
	this.writer_url = writer_url;

	this.is_child = is_child || false;
	this.receiveCallback = receiveCallback;

	this._lastHash = null;

	this._accumMsg = '';

	this._lastSeqno = 0;

	this.MAX_DATA_LEN	= 1024;

	this.WAIT_TIME		= 10;

	this.READY		= 0x1;
	this.WRITING	= 0x2;
	this.FIN		= 0x4;
	this.ACK		= 0x8;

};

FragmentPacket.prototype.createListener = function() {
	var that = this;
	var listener = function() {
		that.recv();
	};
	return window.setInterval(listener, 10);
};

FragmentPacket.prototype.log = function(msg) {



};

FragmentPacket.prototype.recv = function() {
	var hash;
	if (/MSIE/.test(navigator.userAgent)) {

		hash = this.reader.name;
	} else {

		var hashIndex = this.reader.location.href.indexOf('#');
		if (hashIndex == -1) {
			return;
		}
		hash = this.reader.location.href.substring(hashIndex+1);
	}
	var flags = parseInt(hash.substring(0, 4), 10);
	var seqno = parseInt(hash.substring(4, 24), 10);
	var data  = hash.substring(24);

	if (this._lastHash !== hash) {
		this._lastHash = hash;
		this.log('recv: ' + hash);

		this.log(' flags: ' + flags);
		this.log(' seqno: ' + seqno + ' len: ' + hash.substring(4, 24).length + ' (' + hash.substring(4, 24) + ')');
		this.log(' data: ' + data + ' len: ' + data.length);

		this._lastSeqno = seqno;

		if (flags & this.WRITING) {
			this._accumMsg += data;
			this.sendFlag(this.ACK, seqno);
			if (flags & this.FIN) {
				this.log('recv finished: ' + decodeURIComponent(this._accumMsg));
				this.receiveCallback(decodeURIComponent(this._accumMsg));

				this._accumMsg = '';

				this.sendFlag(this.READY | this.ACK, this._lastSeqno);
			}
		}
	}

	return {
		flags: flags,
		seqno: seqno,
		data: data
	};
};

FragmentPacket.prototype.sendRawPacket = function(packet) {
	if (/MSIE/.test(navigator.userAgent)) {
		this.writer.name = packet;
	} else {

		this.writer.location.href = this.writer_url + '#' + packet;
	}

};

FragmentPacket.prototype.sendFlag = function(flag, seqno) {
	this.sendRawPacket(this._zerofill(flag, 4) + this._zerofill(seqno, 20));
};

FragmentPacket.prototype.send = function(msg) {
	this._send(0, encodeURIComponent(msg));
};

FragmentPacket.prototype._send = function(packetNum, msg) {
	var that = this;
	var recvBuf = this.recv();

	if (packetNum === 0) {

		if (!(recvBuf.flags & this.READY)) {
			this.log('client is not ready, waiting...');
			window.setTimeout(function() { that._send(packetNum, msg); }, this.WAIT_TIME);
			return;
		}
	} else {

		if (!( (recvBuf.flags & this.ACK) && (recvBuf.seqno === this._lastSeqno) )) {
			this.log('waiting for ack from client...');
			window.setTimeout(function() { that._send(packetNum, msg); }, this.WAIT_TIME);
			return;
		} else {
			this.log('received ack: ' + this._lastSeqno + ' ' + recvBuf.seqno);
		}
	}

	var flags = this.WRITING;
	var num_packets = Math.ceil(msg.length / this.MAX_DATA_LEN);
	this.log('num_packets: ' + num_packets);

	if (num_packets === packetNum) {

		this.log('message successfully sent!');
		this.sendFlag(this.READY | this.ACK, this._lastSeqno);
		return true;
	}

	this._lastSeqno++;

	if (packetNum == num_packets-1) {
		flags |= this.FIN;
	}

	var data = msg.substring(packetNum * this.MAX_DATA_LEN, (packetNum+1) * this.MAX_DATA_LEN);
	var packet = this._zerofill(flags, 4) + this._zerofill(this._lastSeqno, 20) + data;

	this.log('sending raw packet: ' + packet);
	this.sendRawPacket(packet);

	return this._send(packetNum + 1, msg);
};

FragmentPacket.prototype._zerofill = function(num, width) {
	var retval = num.toString();
	var retval_len = retval.length;
	for (var i = 0; i < width - retval_len; i++) {
		retval = '0' + retval;
	}
	return retval;
};

var PostMessagePacket = function(receiver, receiveCallback, id, receiverId) {
	var that = this;
	this.receiver = receiver;
	this.receiveCallback = receiveCallback;
	this.id = id;


	this.receiverId = receiverId;
};

PostMessagePacket.prototype.createListener = function() {
	var that = this;

	var listener = function(e) {

		if (!that.id) {
			that.id = e.data;
			return;
		}


		var id = e.data.split(';')[0];
		if (id !== that.id) {
			return;
		}
		var data = e.data.substring(e.data.indexOf(';') + 1);

		that.receiveCallback(data);
	};

	if (typeof window.attachEvent == 'function') {
		window.attachEvent('onmessage', listener);
	} else if (typeof window.addEventListener == 'function') {
		window.addEventListener('message', listener, false);
	} else {
		throw new Error('No method found to create event listener for PostMessagePacket.');
	}
};

PostMessagePacket.prototype.send = function(msg) {



	var needs_reget = false;
	try {
		if (typeof this.receiver.id == 'undefined' || typeof this.receiver.postMessage == 'undefined') {
			needs_reget = true;
		}
	} catch(e) {


	}
	if (needs_reget && typeof this.receiverId != 'undefined') {
		this.receiver = document.getElementById(this.receiverId).contentWindow;
	}

	var packet;
	if (!msg) {

		packet = this.id;
	} else {
		packet = this.id + ';' + msg;
	}
	this.receiver.postMessage(packet, '*');
};

PostMessagePacket._last_unique_id = null;
PostMessagePacket._get_unique_id = function() {
	var id = (new Date()).getTime();
	if (id == PostMessagePacket._last_unique_id) {
		id++;
	}
	PostMessagePacket._last_unique_id = id;
	return id.toString();
};

var JsonRpc = function() {

	this.ids = {};

	this.objectToJSON = function(obj) {
		var json = '';
		var results = [];

		if (obj === undefined || obj === null) {
			return 'null';
		}

		switch (obj.constructor) {
			case Object:
				for (var property in obj) {
					if (obj.hasOwnProperty(property)) {
						results.push(this.objectToJSON(property) + ': ' + this.objectToJSON(obj[property]));
					}
				}
				json = '{' + results.join(', ') + '}';
				break;
			case Array:
				for (var i = 0; i < obj.length; i++) {
					results.push(this.objectToJSON(obj[i]));
				}
				json = '[' + results.join(', ') + ']';
				break;
			case Number:
			case Boolean:
				json = obj.toString();
				break;
			case String:

				var specialChars = {'\b': '\\b', '\t': '\\t', '\n': '\\n', '\f': '\\f', '\r': '\\r', '\\': '\\\\'};

				json = obj.replace(/[\x00-\x1f\\]/g, function(match) {
					var ch = specialChars[match];
					return ch ? ch : '\\u00' + match.charCodeAt().toPaddedString(2, 16);
				});

				json = '"' + json.replace(/"/g, '\\"') + '"';
				break;
			default:

				json = 'null';
				break;
		}

		return json;
	};

	this.createHandler = function(send_func, registered_funcs) {
		var that = this;
		var handler = function(message) {

			try {
				var rpc = eval('(' + message + ')');
			} catch(e) {
				alert('bad JSON: ' + message);
				return;
			}
			if (rpc.method) {

				if (!registered_funcs[rpc.method]) {
					return;
				}

				var retval = registered_funcs[rpc.method].apply(null, rpc.params);
				if (rpc.id) {
					var response = {
						result: retval,
						error: null,	// TODO
						id: rpc.id
					};
					send_func(that.objectToJSON(response));
				}
			} else if(rpc.result) {

				if (!that.ids[rpc.id]) {
					return;
				}

				that.ids[rpc.id](rpc.result);
				delete that.ids[rpc.id];
			}
		};
		return handler;
	};

	this.execute = function(send_func, method, params, response_callback) {
		response_callback = response_callback || null;
		var id = (response_callback) ? (new Date()).getTime() : null;

		var request = {
			method: method,
			params: params,
			id: id
		};

		send_func(this.objectToJSON(request));

		if (id) {
			this.ids[id] = response_callback;
		}
	};
};
JsonRpc = new JsonRpc();

var ParentMessenger = function(childUrl, receiverUrl, container, receiveCallback) {


	if (navigator.userAgent.indexOf('Safari') >= 0 && parseInt(navigator.userAgent.substring(navigator.userAgent.indexOf('Version/') + 8), 10) == 3) {
		throw new Error("unsupported.");
	} else if (window.opera) {
		throw new Error("unsupported.");
	}



	if (!receiverUrl &&
		navigator.userAgent.indexOf('Gecko') >= 0 &&
		parseFloat(navigator.userAgent.slice(navigator.userAgent.indexOf('rv:') + 3, navigator.userAgent.indexOf('rv:') + 6)) < 1.9) {
		throw new Error("unsupported.");
	}


	if (/msie/i.test(navigator.userAgent) && !/opera/i.test(navigator.userAgent)) {


		if (document.domain == window.location.hostname) {
			receiverUrl = '';
		}
	}

	var that = this;
	this.childUrl = childUrl;
	this.receiverUrl = receiverUrl;
	this.container = container || document.body;

	this.packetHandler = null;


	this._ready = false;
	this._error = false;


	var _createReceiverForFragmentPacket = function() {

		that.receiver = document.createElement('iframe');
		that.receiver.src = receiverUrl;
		that.receiver.id = 'receiver_' + (new Date()).getTime();
		that.receiver.name = that.receiver.id;

		that.receiver.frameBorder = '0';
		that.receiver.frameSpacing = '0';
		that.receiver.style.borderStyle = 'none';

		var receiver_onload = function() {
			var receiver = document.getElementById(that.receiver.id).contentWindow;

			try {
				receiver.document.body.innerHTML = '';
			} catch(e) {

				that._error = true;
			}
			receiver.document.body.style.padding = '0px';
			receiver.document.body.style.margin = '0px';

			var child = receiver.document.createElement('iframe');
			child.id = 'child';
			child.name = 'child';
			child.src = that.childUrl;

			child.frameBorder = '0';
			child.frameSpacing = '0';
			child.style.borderStyle = 'none';
			child.style.width = '100%';
			child.style.height = '100%';
			receiver.document.body.appendChild(child);

			that.child = receiver.document.getElementById('child').contentWindow;
			that.receiver = receiver;

			that.packetHandler = new FragmentPacket(that.receiver, that.child, that.childUrl, false, receiveCallback);

			that._listener = that.packetHandler.createListener();

			that.packetHandler.sendFlag(that.packetHandler.READY, 0);

			that._ready = true;
		};

		that.receiver.onreadystatechange = function() {
			if (this.readyState == 'complete') {
				receiver_onload();
			}
		};

		that.receiver.onload = receiver_onload;







		if (Dsq.Utils.ie) {
			if (that.container.clientWidth === 0) {

				var _waitForWidth = function() {
					if (that.container.clientWidth > 0) {
						Dsq.Utils.fixIframesIE(that.container.id);
					} else {
						window.setTimeout(_waitForWidth, 100);
					}
				};
				_waitForWidth();

				that._once = false;
				that.receiver.onresize = function() {
					if (!that._once) {
						Dsq.Utils.fixIframesIE(that.container.id);
					}
					that._once = true;
				};
			}
		}

		that.container.appendChild(that.receiver);
	};


	var _createReceiverForPostMessage = function() {

		var receiver_onload = function() {

			that.packetHandler.send();
			that._ready = true;
		};

		var id = PostMessagePacket._get_unique_id();
		var receiverId = 'child_' + id;


		ParentMessenger['_receiver_onload_' + receiverId] = receiver_onload;

		that.container.innerHTML += '<iframe ' +
			'src="' + childUrl + '" ' +
			'id="' + receiverId + '" ' +
			'name="' + receiverId + '" ' +
			'onload="ParentMessenger._receiver_onload_' + receiverId +'();" ' +
			'></iframe>';

		that.receiver = document.getElementById(receiverId).contentWindow;
		that.packetHandler = new PostMessagePacket(that.receiver, receiveCallback, id, receiverId);
		that._listener = that.packetHandler.createListener();
	};

	if (typeof window.postMessage == 'function') {
		_createReceiverForPostMessage();
	} else {
		_createReceiverForFragmentPacket();
	}

};

ParentMessenger.prototype.sendMessage = function(message) {
	var that = this;
	if (!this._ready) {

		window.setTimeout(function() { that.sendMessage(message); }, 10);
		return;
	}
	this.packetHandler.send(message);
	return true;
};

Dsq.NewFrames = function(url) {
	this.url = url;
};

Dsq.NewFrames.prototype.init = function(onFailure) {
	var that = this;

	try {
		this.messenger = new ParentMessenger(this.url, Dsq.jsonData.integration.receiver_url, this.container, this.receive_callback);
	} catch(e) {
		if (typeof onFailure == 'function') {
			onFailure();
		}
	}

	if (typeof onFailure == 'function') {
		var iId = window.setInterval(function() {
			if (typeof that.messenger == 'undefined') {
				window.clearInterval(iId);
				return;
			}
			if (that.messenger._ready) {
				window.clearInterval(iId);
			} else if (that.messenger._error) {
				window.clearInterval(iId);
				onFailure();
			}
		}, 10);
	}
};

Dsq.NewFrames.prototype._execute = function(method, args, callback) {
	var that = this;
	if (typeof that.messenger == 'undefined') {
		return false;
	}
	JsonRpc.execute(
		function(msg) { that.messenger.sendMessage(msg); },
		method,
		args || [],
		callback);
	return true;
};

Dsq.ReplyFrame = function(container, parent_post_id) {
	var that = this;
	this.container = container;
	this.parent_post_id = parent_post_id;

	var sendFunc = function(msg) {

		Dsq.Debug.log('Dsq.ReplyFrame.sendFunc');
		that.messenger.sendMessage(msg);
	};


	var postComment_onSuccess = function(response) {
		Dsq.jsonData.posts[response.message.id] = response.message.post_meta;
		if (!Dsq.jsonData.users[response.message.post_meta.user_key]) {
			Dsq.jsonData.users[response.message.post_meta.user_key] = response.message.user_meta;
		}


		var reply_position = (typeof(disqus_insert_wrt_sort) == 'undefined' 
			? (Dsq.jsonData.forum.reply_position ? -1 : null) 
			: (Dsq.jsonData.request.sort == 2 ? null : -1));
		
		if (response.message.post_meta.approved) {
			Dsq.Post.insert(response.message.post_meta.parent_post_id || reply_position, response.message.id, response.message.post_meta.message);
		}

		Dsq.Templates.postComment_onSuccess(response, parent_post_id, response.message.id);
	};

	var postComment_onFailure = function(response) {
		Dsq.Popup.popModal(response.message, 'Error');
		Dsq.Templates.postComment_onFailure(response, parent_post_id, response.message.id);
	};

	var editComment_onSuccess = function(response) {
		var post_id = parent_post_id;
		var message = Dsq.$('dsq-comment-message-' + post_id);
		
		message.innerHTML = response.message;
		Dsq.Templates.toggleEdit(post_id);
		Dsq.Templates.setLoadingButton(false);
	};
	
	var editComment_onFailure = function(response) {
		var post_id = parent_post_id;
		
		Dsq.Popup.popModal('Sorry, there was an error editing this comment.', 'Edit Error');
		Dsq.Templates.toggleEdit(post_id);
		Dsq.Templates.setLoadingButton(false);
	};

	var getUserByEmail_onSuccess = function(response) {
		var msg = response.message;
		var fields = Dsq.Templates.getFormFields(parent_post_id);

		if (msg.username) {

			Dsq.Templates.lightboxAuthenticate(parent_post_id, 'login', {
				'username': msg.username,
				'display_name': msg.display_name,
				'avatar_url': msg.avatar_url,
				'verified': msg.verified,
				'email': fields.email.value
			});
		} else {

			Dsq.Templates.lightboxAuthenticate(parent_post_id, 'register');
		}
	};

	var validateAuth_onSuccess = function(response, auth_choice) {
		Dsq.Templates.postComment(parent_post_id, null, true, auth_choice);
	};

	var validateAuth_onFailure = function(response, auth_choice) {
		var pid = parent_post_id ? '-' + parent_post_id : '';
		var msg = response.message;

		if (auth_choice == 'register') {
			var fields = ['email', 'username', 'password'];

			for (var i = 0; i < fields.length; i++) {
				var field = fields[i];
				var errorDiv = Dsq.$('dsq-' + field + '-errors' + pid);

				if (msg[field]) {
					errorDiv.innerHTML = msg[field];
				} else {
					errorDiv.innerHTML = '';
				}
			}
		} else if (auth_choice == 'login') {
			Dsq.$('dsq-lightbox-errors' + pid).innerHTML = '<p>We couldn\'t log you in. Please verify your login.</p>';
		}
		
		Dsq.Templates.setLoadingButton(false);
	};

	this.receive_callback = JsonRpc.createHandler(sendFunc, {
		'postComment.onSuccess': postComment_onSuccess,
		'postComment.onFailure': postComment_onFailure,
		'editComment.onSuccess': editComment_onSuccess,
		'editComment.onFailure': editComment_onFailure,		
		'getUserByEmail.onSuccess': getUserByEmail_onSuccess,
		'validateAuth.onSuccess': validateAuth_onSuccess,
		'validateAuth.onFailure': validateAuth_onFailure,
		'reload': function() { window.location.reload(); }
	});

	this.url = Dsq.Urls.REPLY +
		'?' + (new Date()).getTime() +
		'&f=scobleizer' +
		'&t=the_new_a_list' +
		'&ff=' + Dsq.Thread.ff +
		'&default_text=' + encodeURIComponent(disqus_default_text) +
		'&ifrs=' + encodeURIComponent(disqus_iframe_css);
	if (this.parent_post_id) {
		this.url += '&parent_post=' + this.parent_post_id;
	}
};

Dsq.ReplyFrame.prototype = new Dsq.NewFrames(Dsq.ReplyFrame.url);

Dsq.ReplyFrame.prototype.post = function(author_name, author_email, author_url, authenticate, sharing_services, subscribe) {
	this._execute('postComment', [author_name, author_email, author_url, authenticate, sharing_services, subscribe]);
};

Dsq.ReplyFrame.prototype.edit = function(post_id, message) {
	this._execute('editComment', [post_id, message]);
};

Dsq.ReplyFrame.prototype.setState = function(parent_post_id, depth) {
	this._execute('setState', [parent_post_id, depth]);
};

Dsq.ReplyFrame.prototype.getUserByEmail = function(email) {
	this._execute('getUserByEmail', [email]);
};

Dsq.ReplyFrame.prototype.validateAuth = function(auth_choice, email, username, password) {
	this._execute('validateAuth', [auth_choice, email, username, password]);
};

Dsq.ReplyFrame.prototype.authenticateFacebook = function(session, forum_url) {
	this._execute('authenticateFacebook', [session, forum_url]);
};

	Dsq.Facebook = function() {
	var that = this;

	var handleSessionData = function(session) {

		var forum_url = Dsq.jsonData.forum.url;




		if (typeof disqus_facebook_forum != 'undefined') {
			forum_url = disqus_facebook_forum;
		}
		Dsq.frames.reply_0.authenticateFacebook(session, forum_url);
	};

	var onLogin = function() {
		FB.Connect.getSignedPublicSessionData(handleSessionData);
	};

	this.login = function() {
		FB.Connect.requireSession(onLogin, true);
	};
};
Dsq.Facebook = new Dsq.Facebook();


	






Dsq.Themes = {};

Dsq.Themes.narcissus = new function() {
	this.addPostContainer = 'dsq-form-area';
	this.textareaContainer = 'dsq-textarea-wrapper';



	
	this.header = function() {
		var comments_count, total_posts, num_posts;
		var html = '';
		var missing_perm_tmpl;

		if (Dsq.jsonData.request.missing_perm) {
			missing_perm_tmpl = Dsq.Templates.missingPermissions();
			if (missing_perm_tmpl) {
				html += '<div class="dsq-missing-permissions">' + missing_perm_tmpl + '</div>';
			}
		}

		total_posts = Dsq.jsonData.thread.total_posts;
		num_posts = Dsq.jsonData.thread.num_posts;

		if (total_posts) {
			comments_count = Dsq.FmtStrings.SHOWING_COMMENTS_FULL(total_posts, num_posts);
		} else {
			comments_count = Dsq.FmtStrings.SHOWING_COMMENTS_WITHOUT_PAGINATION(num_posts);
		}

		html += ' \
		<div id="dsq-comments-title"> \
			<h3>' + comments_count + '</h3> \
		</div> \
		';

		html += ' \
		<div class="dsq-options"> \
			<span class="dsq-item-sort">'
				+ Dsq.Strings.SORT_BY + ' \
				<select id="dsq-sort-select" onchange="Dsq.Thread.sortBy(this.value);"> \
					<option value="hot" ' + (Dsq.jsonData.request.sort == 4 ? 'selected="selected"' : '') + '>' + Dsq.Strings.POPULAR_NOW + '</option> \
					<option value="best" ' + (Dsq.jsonData.request.sort == 3 ? 'selected="selected"' : '') + '>' + Dsq.Strings.BEST_RATING + '</option> \
					<option value="newest" ' + (Dsq.jsonData.request.sort == 2 ? 'selected="selected"' : '') + '>' + Dsq.Strings.NEWEST_FIRST + '</option> \
					<option value="oldest" ' + (Dsq.jsonData.request.sort == 1 ? 'selected="selected"' : '') + '>' + Dsq.Strings.OLDEST_FIRST + '</option> \
				</select> \
				&nbsp; \
			</span> \
			<span class="dsq-subscribe-email"> \
				<img src="http://media.disqus.com/images/embed/email.png" style="width:12px;height:12px;vertical-align:middle"> \
				<span id="dsq-subscribe">'
					+ (Dsq.jsonData.context.subscribed
						? '<a href="#" onclick="Dsq.Thread.subscribe(0); return false">' + Dsq.Strings.UNSUBSCRIBE + '</a>'
						: '<a href="#" onclick="Dsq.Thread.subscribe(1); return false">' + Dsq.Strings.SUBSCRIBE_BY_EMAIL + '</a>')
				+ '</span> \
			</span> \
			<span class="dsq-subscribe-rss" style="width:12px;height:12px;vertical-align:middle"> \
				<img src="http://media.disqus.com/images/embed/bullet-feed.png" alt="" /> \
				<a href="http://scobleizer.disqus.com/the_new_a_list/latest.rss">' + Dsq.Strings.SUBSCRIBE_BY_RSS + '</a> \
			</span> \
		</div> \
		';

		
		

		return html;

	};
	
	this.footer = function() {
		var html = '';

		html += Dsq.Templates.pagination();

		
		
			html += Dsq.Templates.realtime();
			html += Dsq.Templates.showThreadSettings();
			html += Dsq.Templates.postBox();

		html += Dsq.Templates.reactions();

		
			html += Dsq.Templates.trackbacks();
		


		if (Dsq.jsonData.request.is_global_moderator) {
 			html += ' \
				<div class="dsq-global-moderator-extras">'
					+ '<strong>shortname:</strong> ' + Dsq.jsonData.forum.url
					+ '<strong>thread id:</strong> ' + Dsq.jsonData.thread.id
					+ '<strong>thread slug:</strong> ' + Dsq.jsonData.thread.slug
				+ '</div> \
			';
		}

		return html;
	};
	
	this.realtime = function() {
		var html = '';
		
		if (Dsq.jsonData.realtime_enabled) {
			html += '<div id="dsq-realtime-options" class="dsq-options">'
					 + Dsq.Strings.REALTIME_UPDATING_IS + ' <strong id="dsq-realtime-status" style="text-transform: lowercase">' + Dsq.Strings.ENABLED + '</strong>. \
					 <a href="#" id="dsq-realtime-toggle" style="text-transform: capitalize"></a> \
					</div>';
		}

		if (!Dsq.jsonData.forum.streaming_realtime) {
			html += ' \
				<div style="display: none" id="dsq-realtime-alert" class="dsq-realtime-alert"><span id="dsq-realtime-queued"></span> <a href="#" id="dsq-realtime-show"></a></div> \
			';
		}
		
		return html;
	};

	this.showThreadSettings = function() {
		if (!Dsq.jsonData.request.is_moderator) {
			return '';
		}

		html = '<div id="dsq-thread-settings" class="dsq-thread-settings">' + Dsq.Strings.MODERATOR_OPTIONS;
		html += '<a href="#" onclick="Dsq.Thread.showSettings(); return false;">' + Dsq.Strings.SETTINGS + '</a>';
		html += '<a href="#" onclick="Dsq.Thread.showModeratorActions(); return false;">' + Dsq.Strings.MODERATE + '</a>';
		if (Dsq.jsonData.forum.reactions_enabled && Dsq.jsonData.reactions.length === 0) {
			html += '<a href="#" onclick="Dsq.Reaction.reportMissingReactions(); return false;">'
						+ Dsq.Strings.REPORT_MISSING_REACTIONS
						+ '</a>';
		}
		html +='</div>';

		return html;
	};

	this.postBox = function(post_id, use_fallback_iframe) {


		var html;
		var display_sharing_options = Dsq.jsonData.request.is_authenticated;

		if (!Dsq.jsonData.request.is_authenticated && Dsq.jsonData.forum.disqus_auth_disabled && !Dsq.jsonData.forum.allow_anon_post) {
			return '';
		}
		
		if (Dsq.jsonData.request.is_remote) {


			if (!Dsq.jsonData.request.sharing.hasOwnProperty(Dsq.jsonData.request.remote_domain)) {
				display_sharing_options = false;
			}
		}
		
		if (post_id) {
			var _meta = Dsq.jsonData.posts[post_id];
			var userData = Dsq.jsonData['users'][_meta.user_key];				
		}
		
		var pid = post_id ? '-' + post_id : '';

		var _requestUserInfo = function() {
			var html;



			var user_has_email = false;

			html = '<div class="dsq-request-user-info"> <!-- // If authenticated --> \
				<a href="' + Dsq.jsonData.settings.disqus_url + Dsq.Urls.LOGOUT + '?ctkn=' + Dsq.CSRF_TOKEN + '" class="dsq-request-user-logout">' + Dsq.Strings.LOGOUT + '</a> \
				<table> \
					<tr> \
						<td rowspan="2">'
							+ (!Dsq.jsonData.forum.disqus_auth_disabled ? '<a href="' + Dsq.jsonData.settings.disqus_url + Dsq.Urls.REQUEST_USER_PROFILE + '">' : '')
								+ '<img src="' + Dsq.Urls.REQUEST_USER_AVATAR + '" width="48" height="48" class="dsq-request-user-avatar">'
							+ (!Dsq.jsonData.forum.disqus_auth_disabled ? '</a>' : '')
						+ '</td> \
						<td class="dsq-request-user-name">'
								+ (Dsq.jsonData.request.is_remote
									 ? '<span class="dsq-badge-small dsq-badge-' + Dsq.jsonData.request.remote_domain + '">' + Dsq.jsonData.request.remote_domain + '</span>'
									 : (Dsq.jsonData.request.is_verified
											? '<span class="dsq-badge-small dsq-badge-verified">Verified</span>'
											: '<span class="dsq-badge-small dsq-badge-registered">Registered</span>'))
							+ (!Dsq.jsonData.forum.disqus_auth_disabled ? ' <a href="' + Dsq.jsonData.settings.disqus_url + Dsq.Urls.REQUEST_USER_PROFILE + '">' : '') 
								+ Dsq.jsonData.request.display_username 
							+ (!Dsq.jsonData.forum.disqus_auth_disabled ? '</a>' : '')
							+  (Dsq.jsonData.request.is_remote && user_has_email ? ' <small>(<a href="#" onclick="Dsq.Popup.remoteAccountSettings(); return false;">change settings</a>)</small>' : '')
							+  (!Dsq.jsonData.request.is_remote && !Dsq.jsonData.forum.disqus_auth_disabled ? ' <small>(<a href="' + Dsq.jsonData.settings.disqus_url + '/profile/info/" target="_blank">change name</a> or <a href="' + Dsq.jsonData.settings.disqus_url + '/profile/avatar/" target="_blank">picture</a>)</small>' : '')
						+ '</td> \
					</tr> \
					<tr> \
						<td class="dsq-request-user-stats"> \
							<span><big>' + Dsq.jsonData.request.comments_count + '</big> ' + (Dsq.jsonData.request.comments_count == 1 ? 'comment' : 'comments') + '</span> \
							<span><big>' + Dsq.jsonData.request.likes_count + '</big> ' + (Dsq.jsonData.request.likes_count == 1 ? 'like' : 'likes') + '</span> \
							<span><big>' + Dsq.jsonData.request.points + '</big> ' + (Dsq.jsonData.request.points == 1 ? 'point' : 'points') + '</span> \
						</td> \
					</tr> \
				</table> \
			</div> \
			';
			return html;
		};

		var _loginOptions = function() {
			var html;
			html = ' \
			<div class="dsq-authenticate"> \
				<p class="dsq-autheneticate-copy">'
				+ (Dsq.jsonData.forum.allow_anon_post
					? Dsq.Strings.YOU_ARE_COMMENTING_AS_A + ' <a class="dsq-help" title="Click for more information" href="#" onclick="Dsq.Popup.helpBadges(); return false">Guest</a>. ' + Dsq.Strings.OPTIONAL + ': ' + Dsq.Strings.LOGIN_BELOW + '.'
					: Dsq.Strings.REQUIRED + ': ' + Dsq.Strings.PLEASE_LOGIN_BELOW_TO_COMMENT + '.')
				+ '</p> \
				<ul class="dsq-login-buttons">'
					+ (!Dsq.jsonData.forum.disqus_auth_disabled ? '<li class="dsq-login-button"><a href="#" onclick="Dsq.Popup.login(); return false"><img src="http://media.disqus.com/images/themes/narcissus/login-disqus.gif" /></a></li>' : '')
					+ (Dsq.jsonData.context.use_fb_connect ? '<li class="dsq-login-button"><a href="#" onclick="Dsq.Facebook.login(); return false;"><img src="http://media.disqus.com/images/themes/narcissus/login-facebook.gif" /></a></li>' : '')
					+ (Dsq.jsonData.context.use_twitter_signin ? '<li class="dsq-login-button"><a href="#" onclick="Dsq.Twitter.startTwitterConnect(); return false"><img src="http://media.disqus.com/images/themes/narcissus/login-twitter.gif" /></a></li>' : '')
					+ (Dsq.jsonData.context.use_openid ? '<li class="dsq-login-button"><a href="#" onclick="Dsq.OpenID.requestURL(); return false" ><img src="http://media.disqus.com/images/themes/narcissus/login-openid.gif" /></a></li>' : '')
					+ (Dsq.jsonData.context.use_yahoo ? '<li class="dsq-login-button"><a href="#" onclick="Dsq.Yahoo.startYahooConnect(); return false"><img src="http://media.disqus.com/images/themes/narcissus/login-yahoo.gif" /></a></li>' : '')
				+ '</ul> \
			</div> \
			';
			return html;
		};

		if (!Dsq.jsonData.context.show_reply) {


			if (!Dsq.jsonData.request.is_authenticated) {



				return '<div id="dsq-form-area" style="display:none"><div id="dsq-textarea-wrapper"></div></div>' + _loginOptions();
			} else {
				return '';
			}
		}

		html = ' \
		<div id="' + (post_id 
			? 'dsq-reply-post-' + post_id
			: 'dsq-new-post')
		 	+ '" class="dsq-post-area"> \
			<div class="dsq-dc-logo"> \
				<a href="http://disqus.com/comments" target="_blank"><img src="http://media.disqus.com/images/themes/narcissus/disqus-logo.png"></a> \
			</div>'
			+ (post_id 
				? '<h3>' + Dsq.Strings.REPLYING_TO + ' ' + userData.display_name + '</h3>'
				: '<h3>' + Dsq.Strings.ADD_NEW_COMMENT + '</h3>')
			+ (Dsq.jsonData.request.is_authenticated 
				? _requestUserInfo()
				: _loginOptions() )
			+ '<div id="dsq-form-area' + pid + '">'
			+ '<div class="dsq-textarea"> \
				<div class="dsq-textarea-wrapper" id="dsq-textarea-wrapper' + pid + '"></div> \
			</div>'
			+ (!Dsq.jsonData.request.is_authenticated
			? ' \
			<div class="dsq-post-fields"> \
				<table> \
					<tr> \
						<td class="dsq-post-fields-left"><div class="dsq-input-wrapper"><input id="dsq-field-name' + pid + '" type="text" value="' + (disqus_def_name ? disqus_def_name : (Dsq.jsonData.session.name ? Dsq.jsonData.session.name : Dsq.Strings.NAME + '" class="dsq-placeholder')) + '" onfocus="Dsq.Templates.handlePlaceholder(event, this, \'name\')" onblur="Dsq.Templates.handlePlaceholder(event, this, \'name\')" /></div></td> \
						<td class="dsq-post-fields-right"><div class="dsq-input-wrapper"><input id="dsq-field-website' + pid + '" type="text" value="' + (Dsq.jsonData.session.url ? Dsq.jsonData.session.url : Dsq.Strings.WEBSITE + ' (' + Dsq.Strings.OPTIONAL.toLowerCase() + ')" class="dsq-placeholder') + '" onfocus="Dsq.Templates.handlePlaceholder(event, this, \'website\')" onblur="Dsq.Templates.handlePlaceholder(event, this, \'website\')" /></div></td> \
					</tr> \
					<tr> \
						<td class="dsq-post-fields-left"><div class="dsq-input-wrapper"><input id="dsq-field-email' + pid + '" type="text" value="' + (disqus_def_email ? disqus_def_email : (Dsq.jsonData.session.email ? Dsq.jsonData.session.email : Dsq.Strings.EMAIL + '" class="dsq-placeholder')) + '" onfocus="Dsq.Templates.handlePlaceholder(event, this, \'email\')" onblur="Dsq.Templates.handlePlaceholder(event, this, \'email\')" /></div></td> \
						<td class="dsq-post-fields-right"> \
							<div class="dsq-subscribe"> \
								<a href="#" onclick="Dsq.Templates.chooseSubscribe(' + post_id + '); return false" class="dsq-subscribe-menu"><span id="dsq-subscribe-select' + pid + '">' + (Dsq.jsonData.request.subscribe_on_post ? Dsq.Strings.SUBSCRIBE_TO_ALL_COMMENTS_BY_EMAIL : Dsq.Strings.DO_NOT_SUBSCRIBE_TO_COMMENTS) + '</span> <small>&#9660;</small></a> \
								<ul class="dsq-panel" id="dsq-subscribe-menu' + pid + '"> \
									<li><a href="#" onclick="Dsq.Templates.setSubscribe(2, this, ' + post_id + '); return false">' + Dsq.Strings.SUBSCRIBE_TO_ALL_COMMENTS_BY_EMAIL + '</a></li> \
									<li><a href="#" onclick="Dsq.Templates.setSubscribe(0, this, ' + post_id + '); return false">' + Dsq.Strings.DO_NOT_SUBSCRIBE_TO_COMMENTS + '</a></li> \
								</ul> \
								<input id="dsq-subscribe-on-post' + pid + '" type="hidden" value="' + Dsq.jsonData.request.subscribe_on_post + '" /> \
							</div> \
						</td> \
					</tr> \
				</table> \
			</div>'
			: '')
			+ '<div class="dsq-post-footer"> \
				<div class="dsq-sharing-options" ' + (!display_sharing_options ? 'style="display:none;"' : '') + '> \
					<button type="button" class="dsq-button-small" onfocus="document.getElementById(\'dsq-post-button' + pid + '\').focus();"><span>' + Dsq.Strings.SHARING_OPTIONS + ' <small>&#9660;</small></span></button> \
					<div class="dsq-panel"> '
						+ (Dsq.jsonData.request.sharing.twitter !== undefined
								&& Dsq.jsonData.request.sharing.twitter.enabled === true
							? '<div><input type="checkbox" id="dsq-sharing-twitter' + pid + '"'
								  + (Dsq.jsonData.request.sharing.twitter.auto === true ? 'checked=true' : '') + '/> \
									<label for="dsq-sharing-twitter' + pid + '">' + Dsq.Strings.SHARE_ON + ' Twitter</label> \
								 </div>'
							: '')
						+ (Dsq.jsonData.request.sharing.facebook
								&& (Dsq.jsonData.request.sharing.facebook.enabled === true ||
										(Dsq.jsonData.request.is_remote && Dsq.jsonData.request.remote_domain == 'facebook'))
							? '<div><input type="checkbox" id="dsq-sharing-facebook' + pid + '"'
									+ (Dsq.jsonData.request.sharing.facebook.auto === true ? 'checked=true' : '') + '/> \
									<label for="dsq-sharing-facebook' + pid + '">' + Dsq.Strings.SHARE_ON + ' Facebook</label> \
								 </div>'
							: '')
						+ (Dsq.jsonData.request.sharing.yahoo !== undefined
								&& Dsq.jsonData.request.sharing.yahoo.enabled === true
							? '<div><input type="checkbox" id="dsq-sharing-yahoo' + pid + '"'
									+ (Dsq.jsonData.request.sharing.yahoo.auto === true ? 'checked=true' : '') + '/> \
									<label for="dsq-sharing-yahoo' + pid + '">' + Dsq.Strings.SHARE_ON + ' Yahoo!</label> \
								</div>'
							: '')
						+ (Dsq.jsonData.request.sharing.tumblr !== undefined
								&& Dsq.jsonData.request.sharing.tumblr.enabled === true
							? '<div><input type="checkbox" id="dsq-sharing-tumblr' + pid + '"'
									+ (Dsq.jsonData.request.sharing.tumblr.auto === true ? 'checked=true' : '') + '/> \
									<label for="dsq-sharing-tumblr' + pid + '">' + Dsq.Strings.SHARE_ON + ' Tumblr</label> \
								 </div>'
							: '')
						+ (Dsq.jsonData.request.sharing.wordpress !== undefined
								&& Dsq.jsonData.request.sharing.wordpress.enabled === true
							? '<div><input type="checkbox" id="dsq-sharing-wordpress' + pid + '"'
									+ (Dsq.jsonData.request.sharing.wordpress.auto === true ? 'checked=true' : '') + '/> \
									<label for="dsq-sharing-wordpress' + pid + '">' + Dsq.Strings.SHARE_ON + ' Wordpress</label> \
								 </div>'
							: '')
						+ (Dsq.jsonData.request.sharing.movabletype !== undefined
							  && Dsq.jsonData.request.sharing.movabletype.enabled === true
							? '<div><input type="checkbox" id="dsq-sharing-movabletype' + pid + '"'
									+ (Dsq.jsonData.request.sharing.movabletype.auto === true ? 'checked=true' : '') + '/> \
									<label for="dsq-sharing-movabletype' + pid + '">' + Dsq.Strings.SHARE_ON + ' Movable Type</label> \
							   </div>'
							: '')
						+ (Dsq.jsonData.request.sharing.typepad !== undefined
							  && Dsq.jsonData.request.sharing.typepad.enabled === true
							? '<div><input type="checkbox" id="dsq-sharing-typepad' + pid + '"'
									+ (Dsq.jsonData.request.sharing.typepad.auto === true ? 'checked=true' : '') + '/> \
								  <label for="dsq-sharing-typepad' + pid + '">' + Dsq.Strings.SHARE_ON + ' TypePad</label> \
							   </div>'
							: '')
						+ '<div><a href="' + Dsq.jsonData.settings.disqus_url + '/profile/connections/" target="_blank" class="dsq-configure-options">' + Dsq.Strings.CONFIGURE_OPTIONS + '</a></div>'
					+ '</div> \
				</div>'
				+ '<button type="button" class="dsq-button" id="dsq-post-button' + pid + '" onclick="Dsq.Templates.postComment(' + post_id + ', this, false)"><span>' + Dsq.Strings.POST_AS + ' '
				+ (Dsq.jsonData.request.display_username
					? Dsq.jsonData.request.display_username
					: Dsq.Strings.GUEST)
				+ '</span></button>'
				+ (post_id
					? '<button type="button" class="dsq-button" id="dsq-cancel-button' + pid + '" onclick="Dsq.Post.toggleReply(' + post_id +', this)"><span>' + Dsq.Strings.CANCEL + '</span></button>'
					: '')
			+ '</div>'
			+ '</div>' // end dsq-form-area
		+ '</div> \
		';
		
		return html;
	};




	this.appendPost = function(post_id) {
		var html = '<div id="dsq-append-post-' + post_id + '"></div>';
		return html;
	};

	this.postPrependHeader = function(post_id) {
		var html;
		var _meta = Dsq.jsonData.posts[post_id];
		var userData = Dsq.jsonData['users'][_meta.user_key];
		
		html = ' \
		<table> \
			<tr> \
				<td id="dsq-header-avatar-' + post_id + '" class="dsq-header-avatar" onmouseover="Dsq.Post.dropProfile(' + post_id + ')"> \
					<a id="dsq-avatar-' + post_id + '" class="dsq-avatar" href="' + userData.url + '" onclick="Dsq.Popup.popProfile(' + post_id + '); return false;">'
					+ (Dsq.jsonData.forum.show_avatar
					? '<img src="' + Dsq.jsonData.users[_meta.user_key].avatar + '" alt="" />'
					: '')
				+ '</a> \
				</td> \
				<td class="dsq-comment-header-meta"> \
		';

		
		return html;
	};
	
	this.postAppendHeader = function(post_id) {
		var _meta = Dsq.jsonData.posts[post_id];
		var html;
		var parent_display_name = '';
		
		if(_meta.parent_post_id) {

			var _parent_meta = Dsq.jsonData.posts[_meta.parent_post_id];

			if (_parent_meta) {
				var parentUserData = Dsq.jsonData['users'][_parent_meta.user_key];
				parent_display_name = parentUserData.display_name;
			}
		}

		html = ' \
		<img src="http://media.disqus.com/images/themes/narcissus/moderator.png" class="dsq-moderator-star" title="Moderator" /> \
		<span class="dsq-comment-header-time"><a href="#comment-' + post_id + '" onclick="Dsq.Popup.permalink(' + post_id + ')" title="Permalink">' + (_meta.is_realtime ? Dsq.Strings.JUST_NOW : _meta.date) + '</a></span> '
		+ (_meta.parent_post_id && parent_display_name
			? '<a href="#comment-' + _meta.parent_post_id + '" title="Jump to comment">in reply to ' + parent_display_name + '</a>'
			: '')
		+ '</td> \
		<td id="dsq-like-pts-' + post_id + '" class="dsq-comment-header-likes">'
		+ (_meta.points
			? _meta.points + Dsq.Utils.pluralize(_meta.points, ' person', ' people') + ' liked this.'
			: '')
		+ '</td> \
		</tr> \
		</table> \
		';
		return html;
	};

	this.preBody = function(post_id) {
		var html = '';
		return html;
	};

	this.postFooter = function(post_id) {
		var html;
		var _meta = Dsq.jsonData.posts[post_id];
		if(_meta.killed || !_meta.approved) { return ''; }
		
		html = ' \
		<div class="dsq-comment-footer" id="dsq-comment-footer-' + post_id + '"> \
			<div class="dsq-comment-footer-left">'
				+ (Dsq.jsonData.request.is_moderator || Dsq.jsonData.request.is_global_moderator
					? '<a href="#" onclick="Dsq.Templates.moderateOptions(' + post_id+ '); return false">' + Dsq.Strings.MODERATE + '</a>'
					: '')
				+ '<a href="#" id="dsq-post-report-' + post_id + '" class="dsq-post-report" onclick="Dsq.Post.report(' + post_id + ', false); return false;">' + Dsq.Strings.FLAG + '</a> \
			</div> \
			<div class="dsq-comment-footer-right">'
				+ (_meta.votable 
					? '<span id="dsq-like-' + post_id + '" class="dsq-like">'
					+ (!_meta.up_voted
						? '<button type="button" class="dsq-button-small" onclick="Dsq.Post.rate(this, ' + post_id + ', 1)" >Like</button>'
						: 'You liked this.&nbsp;&nbsp;')
					+ '</span>'
					: '')
				+ (_meta.can_reply && !_meta.has_replies && _meta.from_request_user
					? '<button type="button" class="dsq-button-small dsq-post-edit" onclick="Dsq.Post.edit(this, ' + post_id + ')" >' + Dsq.Strings.EDIT + '</button>'
					: '')
				+ (_meta.can_reply
					? '<span class="dsq-comment-footer-reply" id="dsq-comment-footer-reply-' + post_id + '" onclick="Dsq.Post.toggleReply(' + post_id +', this)"> \
						<button type="button" class="dsq-button-small">' + Dsq.Strings.REPLY + '</button> \
						<button type="button" class="dsq-comment-footer-reply-tab">' + Dsq.Strings.REPLY + '</button><span></span> \
					</span>'
					: '')
			+ '</div> \
		</div> \
		';
		
		return html;
	};



	
	this.showRetweets = function(id, limit, element_id /* Optional */) {
		var source, html = '';

		for (var i = 0, reaction; reaction = Dsq.jsonData.reactions[i]; i++) {
			if (reaction.id === id) {
				source = reaction.retweets;
			}
		}

		if (source) {
			if (limit === 0) {
				limit = source.length;
			}

			for (var j = 0; j < limit; j++) {
				var rt = source[j];
				html += '<a href="' + rt.url + '">' + rt.author_name + '</a>'	+ ((j === (limit - 1)) ? '.' : ', ');
			}
		}

		if (element_id === undefined) {
			return html;
		}

		var element = document.getElementById(element_id);
		element.innerHTML = html;
		return element;
	};

	this.showMoreReactions = function(reactions, has_more, start, limit) {
		var link = document.getElementById('dsq-show-more-reactions');
		var container = link.parentNode;
		container.removeChild(link);

		for (var i = 0, reaction; reaction = reactions[i]; i++) {
			var el = Dsq.Templates.generateReactionHTML(reaction);
			if (el) {
				container.innerHTML += el;
			}
		}

		if (has_more) {
			var d = Dsq.jsonData.settings.disqus_url;
			var f = Dsq.jsonData.forum.url;
			var t = Dsq.jsonData.thread.id;
			var s = start;
			var l = limit;

			var handler = 'Dsq.Utils.execScript(\'' + d + '/forums/' + f + '/more_reactions.js?t=' + t + '&s=' + s + '&l=' + l + '\', true); return false;';
			container.innerHTML += '<li id="dsq-show-more-reactions" class="dsq-show-more-reactions"><button type="button" class="dsq-button-small" onclick="' + handler + '">Show more reactions</button></li>';
		}
	};

	this.generateReactionHTML = function(reaction) {
		if (reaction.body === null || reaction.body == '') {
			return;
		}

		if (reaction.author_name === '') {
			reaction.author_name = '&nbsp;';
		}

		if (reaction.url === '') {
			reaction.url = reaction.get_service_url;
		}

		var item = '<li class="dsq-comment dsq-reaction" id="dsq-reaction-' + reaction.id + '">'
			+ '<div class="dsq-comment-header"> \
			<table> \
			<tr> \
			<td class="dsq-header-avatar"> \
			';

		if (reaction.author_url && reaction.author_url !== '') {
			item += '<a target="_blank" href="' + reaction.author_url +'" class="dsq-avatar">';
		}

		if (reaction.avatar_url && reaction.avatar_url !== '') {
			item += '<img src="' + reaction.avatar_url + '"/>';
		} else {

			item += '<img src="' + Dsq.jsonData.media_url + '/images/noavatar92.png"/>';
		}

		var service_icon = (reaction.get_service_name == 'trackback' || reaction.get_service_name == 'pingback' ? 'rss' : reaction.get_service_name.replace(' ', ''));
		item += (reaction.author_url && reaction.author_url !== ''
				? '</a>'
				: '')
			+ '</td>'
			+ '<td><cite class="dsq-comment-cite">' + reaction.author_name + '</cite> <span class="dsq-comment-header-time">' + reaction.date_created + '</span></td>'
			+ '<td class="dsq-comment-header-likes"></td>'
			+ '</tr></table></div>' // end dsq-comment-header
			+ '<div class="dsq-reaction-header" \
				<table> \
					<tr> \
						<td class="dsq-reaction-header-left">'
							+ '<img class="dsq-service-icon" src="' + Dsq.jsonData.media_url + '/images/reactions/services/' + service_icon + '.png" />'
							+ ' From <a class="dsq-service-name" target="_blank" href="' + reaction.url + '">' + reaction.get_service_name + '</a> '
							+ 'via <a href="' + reaction.source_url + '">' + (reaction.source == 'backtype' ? 'BackType' : 'UberVU') + '</a>'
						+ '</td>'
						+ '<td class="dsq-reaction-header-right">';

			if(reaction.retweets) {
				var num_retweets = reaction.retweets.length;
				if (num_retweets > 0) {
					if (num_retweets == 1) {
						item += 'One more retweet from <a href="' + reaction.retweets[0].url + '">'  + reaction.retweets[0].author_name + '</a>';
					} else {
						item += (num_retweets + ' more retweets from ');
						item += '<span id="dsq-reaction-retweets-' + reaction.id + '">';
						var n_tweets = (num_retweets > 3) ? 3 : num_retweets;
						item += Dsq.Templates.showRetweets(reaction.id, n_tweets);
						if (n_tweets != num_retweets) {
							item += '</span> <a onclick="Dsq.Templates.showRetweets(' + reaction.id + ', 0, \'dsq-reaction-retweets-' + reaction.id + '\');'
								+ 'this.parentNode.removeChild(this); return false;" href="#">Show all</a>';
						}
					}
				}
			}	
			item += '</td></tr> \
			</table> \
			</div>' // end dsq-reaction-header
			+ '<div class="dsq-comment-body"> \
				<div class="dsq-comment-message">' + reaction.body + '</div>'
			+ '</div> \
			<div class="dsq-comment-footer"> \
				<div class="dsq-comment-footer-left"> \
				</div>'
				+ (Dsq.jsonData.request.is_moderator || Dsq.jsonData.request.is_global_moderator 
					? ' \
					<div class="dsq-comment-footer-right"> \
						<button type="button" class="dsq-button-small dsq-hide-reaction" onclick="Dsq.Reaction.hide(' + reaction.id + ')">Hide</button> \
					</div>'
					: '')
			+ '</div>'
		item += '</li>'; /* Reaction HTML ends */
		return item;
	};

	this.reactions = function() {
		var html, reaction;

		if (Dsq.jsonData.reactions === undefined || Dsq.jsonData.reactions.length === 0) {
			return '';
		}

		html = '';
		for (var i = 0; reaction = Dsq.jsonData.reactions[i]; i++) {
			var item = Dsq.Templates.generateReactionHTML(reaction);
			if (item) {
				html += item;
			}
		}

		if (Dsq.jsonData.has_more_reactions) {
			var d = Dsq.jsonData.settings.disqus_url;
			var f = Dsq.jsonData.forum.url;
			var t = Dsq.jsonData.thread.id;
			var s = Dsq.jsonData.reactions_start;
			var l = Dsq.jsonData.reactions_limit;

			var handler = 'Dsq.Utils.execScript(\'' + d + '/forums/' + f + '/more_reactions.js?t=' + t + '&s=' + s + '&l=' + l + '\', true); return false;';
			html += '<li id="dsq-show-more-reactions" class="dsq-show-more-reactions"><button type="button" class="dsq-button-small" onclick="' + handler + '">Show more reactions</button></li>';
		}

		return '<h3 id="dsq-reactions-title" class="dsq-h3-reactions">Reactions</h3><ul id="dsq-reactions" class="dsq-reactions">' + html + '</ul>';
	};
	
	this._popupGeneric = function(content) {
		return ' \
		<div class="dsq-popup-container"> \
			<table> \
				<tbody> \
					<tr> \
						<td class="dsq-popup-tl"></td><td class="dsq-popup-b"></td><td class="dsq-popup-tr"></td> \
					</tr> \
					<tr> \
						<td class="dsq-popup-b"></td> \
						<td class="dsq-popup-body"> \
							<div class="dsq-popup-content"> \
								<div class="dsq-popup-title"> \
									<button type="button" class="dsq-button-small" style="float:right" onclick="Dsq.Popup._closePopup(null, true)">Close</button>'
									+ content['header'] 
								+ '</div>'
								+ content['body']
							+ '</div> \
							<div class="powered-by"><a href="http://disqus.com/comments/">Powered by <img src="http://media.disqus.com/images/embed/disqus-logo.png" alt="Disqus Comments" style="margin-bottom:-5px" /></a></div> \
						</td> \
						<td class="dsq-popup-b"></td> \
					</tr> \
					<tr> \
						<td class="dsq-popup-bl"></td><td class="dsq-popup-b"></td><td class="dsq-popup-br"></td> \
					</tr> \
				</tbody> \
			</table> \
		</div> \
		';
	};



	
	this.chooseSubscribe = function(post_id) {

		var pid = post_id ? '-' + post_id : '';
		var menu = Dsq.$('dsq-subscribe-menu' + pid);
		
		menu.style.display = menu.style.display == 'block' ? 'none' : 'block';
		
	};
	
	this.setSubscribe = function(value, el, post_id) {

		var pid = post_id ? '-' + post_id : '';
		var input = Dsq.$('dsq-subscribe-on-post' + pid);
		var select = Dsq.$('dsq-subscribe-select' + pid);
		var menu = Dsq.$('dsq-subscribe-menu' + pid);
		
		select.innerHTML = el.innerHTML;
		input.value = value;
		this.chooseSubscribe(post_id);
	};
	
	this.getFormFields = function(post_id) {

		var fields = {};
		var pid = post_id ? '-' + post_id : '';
		var name = Dsq.$('dsq-field-name' + pid);
		var email = Dsq.$('dsq-field-email' + pid);
		var website = Dsq.$('dsq-field-website' + pid);
		var username = Dsq.$('dsq-field-username' + pid);
		var password = Dsq.$('dsq-field-password' + pid);

		fields = {
			'name': name,
			'email': email,
			'website': website,
			'username': username,
			'password': password
		}
		
		return fields;
	}
	
	this.validateFields = function(post_id) {
		
		if(Dsq.jsonData.request.is_authenticated) { return true; }
		
		var fields = Dsq.Templates.getFormFields(post_id);
		
		var nameField = fields.name;
		var websiteField = fields.website;
		var emailField = fields.email;
		
		websiteField.value = (websiteField.value == Dsq.Templates.placeholder['website']) ? '' : websiteField.value;
		
		var v = [{

			validator: Dsq.Validators.name,
			value: nameField.value
		}, {

			validator: Dsq.Validators.email,
			value: emailField.value
		}, {

			validator: Dsq.Validators.url,
			value: websiteField.value
		}];
		
		return Dsq.Validators.validate(v, function(e) { Dsq.Popup.popModal(e, 'Oops...') } );
	};
	
	this.checkExistingUser = function(post_id) {
		var fields = Dsq.Templates.getFormFields(post_id);		
		Dsq.Popup.loading(post_id);
		
		if (post_id) {
			Dsq.frames['reply_' + post_id].getUserByEmail(fields.email.value);
		} else {
			Dsq.frames['reply_0'].getUserByEmail(fields.email.value);
		}
	};

	this.validateAuth = function(el_clicked, post_id, auth_choice) {
		var fields = Dsq.Templates.getFormFields(post_id);
		var email = fields.email ? fields.email.value : '';
		var username = fields.username ? fields.username.value : '';
		var password = fields.password ? fields.password.value : '';
		
		Dsq.Templates.setLoadingButton(el_clicked, post_id);
		
		if (post_id) {
			Dsq.frames['reply_' + post_id].validateAuth(auth_choice, email, username, password);
		} else {
			Dsq.frames['reply_0'].validateAuth(auth_choice, email, username, password);
		}
	};

	this.lightboxUpdateEmail = function(post_id, new_email) {
		var fields = Dsq.Templates.getFormFields(post_id);
		fields.email.value = new_email;
	};

	this.lightboxAuthenticate = function(post_id, auth_choice, auth_data) {
		var title, body;
		var pid = post_id ? '-' + post_id : '';

		if(typeof(auth_data) == 'undefined') {
			var auth_data = Dsq.Templates.getFormFields(post_id);
		}

		d = auth_data;

		switch(auth_choice) {
			case 'register':
				var suggestedUsername = d.name.value.replace(/[^a-zA-Z0-9-]/g,'').toLowerCase();
			
				title = Dsq.jsonData.forum.allow_anon_post ? 'Optional:' : 'Required:';
				title += ' Register a <img src="http://media.disqus.com/images/embed/disqus-profile.png" alt=Disqus Profile" />';

				body = ' \
				<ul class="dsq-lightbox-register-reasons"> \
				<li>Verify your comments</li> \
				<li>Edit and delete comments</li> \
				<li>Manage comments and replies</li> \
				</ul> \
				';

				body += ' \
				<div class="dsq-lightbox-auth-fields"> \
					<table> \
						<tr> \
							<td>Email</td> \
							<td><input type="text" value="' + d.email.value + '" onchange="Dsq.Templates.lightboxUpdateEmail(' + post_id + ', this.value)" /><div id="dsq-email-errors' + pid + '"></div></td> \
						</tr> \
						<tr> \
							<td>Username</td> \
							<td><input id="dsq-field-username' + pid + '" type="text" value="' + suggestedUsername + '"/><div id="dsq-username-errors' + pid + '"></div></td> \
						</tr> \
						<tr> \
							<td>Password</td> \
							<td><input id="dsq-field-password' + pid + '" type="password" /><div id="dsq-password-errors' + pid + '"></div></td> \
						</tr> \
					</table> \
					<div class="dsq-lightbox-switch-auth"><a href="#" onclick="Dsq.Templates.lightboxAuthenticate(' + post_id + ',\'login\'); return false">Login instead</a></div> \
				</div> \
				<div id="dsq-lightbox-errors' + pid + '" class="dsq-lightbox-errors"></div> \
				<div class="dsq-lightbox-submit"> \
					<div class="dsq-lightbox-auth-post"><button type="button" class="dsq-button" onclick="Dsq.Templates.validateAuth(this, ' + post_id + ',\'' + auth_choice + '\')">Register and Post comment</button></div>'
					+ (Dsq.jsonData.forum.allow_anon_post
						? '<div class="dsq-lightbox-auth-skip"><button type="button" class="dsq-button-small" onclick="Dsq.Templates.postComment(' + post_id + ', this, true)">Just post as a Guest</button></div>'
						: '')
				+ '</div> \
				';
				break;
			case 'login':
				title = Dsq.jsonData.forum.allow_anon_post ? 'Optional:' : 'Required:';
				title += ' Login to your <img src="http://media.disqus.com/images/embed/disqus-profile.png" alt=Disqus Profile" />';
				body = '';
				
				if(d.avatar_url) {
					body += '<div class="dsq-lightbox-recognized"><table><tr>';
					body += '<td><img src="' + d.avatar_url + '" alt="" /></td>';
					body += '<td><span class="dsq-badge ' + (d.verified ? 'dsq-badge-verified' : 'dsq-badge-registered') + '">' + (d.verified ? 'Verified' : 'Registered') + '</span></td>';
					body += '<td>Hey <strong>' + d.display_name + '</strong>, is that you? Login below to claim this comment.';
					body += '</tr></table></div>';
				}

				body += ' \
				<div class="dsq-lightbox-auth-fields"> \
					<table> \
						<tr> \
							<td>Username or Email</td> \
							<td><input id="dsq-field-username' + pid + '" type="text" value="' + (d.avatar_url ? d.username : '') + '" /></td> \
						</tr> \
						<tr> \
							<td>Password <a href="http://disqus.com/forgot" target="_blank">(cannot log in?)</a></td> \
							<td><input id="dsq-field-password' + pid + '" type="password" /></td> \
						</tr> \
					</table> \
					<div class="dsq-lightbox-switch-auth"><a href="#" onclick="Dsq.Templates.lightboxAuthenticate(' + post_id + ',\'register\'); return false">Register instead</a></div> \
				</div> \
				<div id="dsq-lightbox-errors' + pid + '" class="dsq-lightbox-errors"></div> \
				<div class="dsq-lightbox-submit"> \
					<div class="dsq-lightbox-auth-post"><button type="button" class="dsq-button" onclick="Dsq.Templates.validateAuth(this, ' + post_id + ',\'' + auth_choice + '\')">Login and Post comment</button></div>'
					+ (Dsq.jsonData.forum.allow_anon_post
						? '<div class="dsq-lightbox-auth-skip"><button type="button" class="dsq-button-small" onclick="Dsq.Templates.postComment(' + post_id + ', this, true)">Just post as a Guest</button></div>'
						: '')
				+ '</div> \
				';
				break;
			default:
				break;
		}
		Dsq.Popup.lightbox(body, title, post_id);
		Dsq.$('dsq-field-username' + pid).focus();
	};
	
	this.buttonsToRestore = [];
	this.setLoadingButton = function(btn, post_id) {
		var pid = post_id ? '-' + post_id : '';
		if (btn) {

			var loadingBtn = document.createElement('button');
			loadingBtn.id = btn.id + '-loading';
			loadingBtn.innerHTML = '<img src="http://media.disqus.com/images/loading-lite.gif" alt="" /> ' + Dsq.Strings.JUST_A_MOMENT;
			loadingBtn.className = btn.className + ' dsq-post-loading';
			btn.parentNode.appendChild(loadingBtn);
			btn.style.display = 'none';
			var cancelBtn = Dsq.$('dsq-cancel-button' + pid);
			if(cancelBtn) { cancelBtn.style.display = 'none'; this.buttonsToRestore.push(cancelBtn); }
			this.buttonsToRestore.push(btn);
		} else {

			var buttons = this.buttonsToRestore;
			for(var i = 0; i < buttons.length; i++) {
				buttons[i].style.display = 'inline';
				Dsq.Utils.deleteNode(Dsq.$(buttons[i].id + '-loading'));
			}
		}
		
	};

	this.postComment = function(post_id, el_clicked, force, auth_choice) {
		var append_id = post_id ? '-' + post_id : '';
		var fields = Dsq.Templates.getFormFields(post_id);

		if (Dsq.Templates.validateFields(post_id)) {

			if (!Dsq.jsonData.request.is_authenticated && !force &&
				((!Dsq.Utils.readCookie('skipped_auth') && !disqus_skip_auth && !Dsq.jsonData.forum.disqus_auth_disabled) || !Dsq.jsonData.forum.allow_anon_post)) {
				Dsq.Templates.checkExistingUser(post_id);
				return false;
			}
			var params = [];
			if (!Dsq.jsonData.request.is_authenticated) {
				params.push(fields.name.value,
					fields.email.value,
					fields.website.value);

				if (auth_choice == 'login' || auth_choice == 'register') {
					params.push({
						auth_choice: auth_choice,
						username: fields.username.value,
						password: fields.password.value,
						email: fields.email.value
					});
				} else {
					params.push(null);
				}

				params.push(null /* sharing options */, Dsq.$('dsq-subscribe-on-post' + append_id).value);
			} else {
				var service_checked = function(name) {
					var el = Dsq.$('dsq-sharing-' + name + append_id);
					return (el !== null && el.checked === true) ? '1' : '0';
				};
				params.push(null, null, null, null, {
					tw: service_checked('twitter'),
					fb: service_checked('facebook'),
					tr: service_checked('tumblr'),
					wp: service_checked('wordpress'),
					mt: service_checked('movabletype'),
					tp: service_checked('typepad'),
					yh: service_checked('yahoo')
				});
			}

			var frame = Dsq.frames['reply_' + (post_id ? post_id : 0)];
			frame.post.apply(frame, params);

			if (el_clicked) {
				Dsq.Templates.setLoadingButton(el_clicked, post_id);
			}
			
			if (force) {
				Dsq.Utils.createCookie('skipped_auth', true);	
			}
			
		} else {
			return false;
		}
	};

	this.editComment = function(el_clicked, post_id) {
		var edited_message = Dsq.$('dsq-edit-textarea-' + post_id).value;

		Dsq.Templates.setLoadingButton(el_clicked, post_id);
		Dsq.frames['edit_' + post_id].edit(post_id, edited_message);
	};

	this.toggleEdit = function(post_id) {
		var body = Dsq.$('dsq-comment-body-' + post_id);
		var message = Dsq.$('dsq-comment-message-' + post_id);

		if (!Dsq.Post.stateEditToggled[post_id]) {


			message.style.display = 'none';
			if (Dsq.$('dsq-edit-' + post_id)) {
				Dsq.$('dsq-edit-' + post_id).style.display = 'block';
			} else {

				var edit_area = document.createElement('div');
				edit_area.id = 'dsq-edit-' + post_id;
				edit_area.className = 'dsq-edit dsq-textarea';
				edit_area.innerHTML = ' \
				<div class="dsq-textarea-wrapper"> \
					<textarea class="dsq-edit-textarea" id="dsq-edit-textarea-' + post_id + '">' + message.innerHTML + '</textarea> \
				</div> \
				<div class="dsq-save-edit"> \
					<button type="button" onclick="Dsq.Templates.editComment(this, ' + post_id + ')" class="dsq-button-small">Save Edit</button> \
				</div> \
				<div id="dsq-edit-iframe-' + post_id + '" style="display: none"></div> \
				';

				body.appendChild(edit_area);

				if (!Dsq.frames['edit_' + post_id]) {
					var _meta = Dsq.jsonData.posts[post_id];
					Dsq.frames['edit_' + post_id] = new Dsq.ReplyFrame(Dsq.$('dsq-edit-iframe-' + post_id), post_id);
					Dsq.frames['edit_' + post_id].init();
					Dsq.frames['edit_' + post_id].setState(post_id, _meta.depth);
				}
			}
		} else {

			message.style.display = 'block';
			Dsq.$('dsq-edit-' + post_id).style.display = 'none';
		}
		
		Dsq.Post.stateEditToggled[post_id] = !Dsq.Post.stateEditToggled[post_id];
	};
	
	this.edit = function(el, post_id) {

		Dsq.Templates.toggleEdit(post_id);
	};

	this.toggleReply = function(post_id, button) {
		
		if(!this.stateReplyToggled[post_id]) {

			if (Dsq.$('dsq-reply-post-' + post_id)) {
				Dsq.$('dsq-append-post-' + post_id).style.display = 'block';
			} else {
				Dsq.$('dsq-append-post-' + post_id).innerHTML = Dsq.Templates.postBox(post_id);
				var container = Dsq.$('dsq-textarea-wrapper-' + post_id);
				if (!Dsq.frames['reply_' + post_id] && container) {
					var _meta = Dsq.jsonData.posts[post_id];
					Dsq.frames['reply_' + post_id] = new Dsq.ReplyFrame(container, post_id);
					Dsq.frames['reply_' + post_id].init(function() {

						Dsq.$('dsq-append-post-' + post_id).innerHTML = Dsq.Templates.postBox(post_id, true);
						Dsq.$('dsq-form-area-' + post_id).innerHTML = '';

						var theme = (typeof disqus_frame_theme == 'undefined') ? 'default' : disqus_frame_theme;
						Dsq.Iframes.showReplyIframeInContainer(Dsq.$('dsq-form-area-' + post_id), post_id, {theme: theme});

					});
					Dsq.frames['reply_' + post_id].setState(post_id, _meta.depth);
				}
			}
			Dsq.$('dsq-append-post-' + post_id).className = 'dsq-append-post';
			Dsq.$('dsq-comment-footer-reply-' + post_id).className = 'dsq-comment-footer-reply-active';
			
		} else {

			Dsq.$('dsq-append-post-' + post_id).style.display = 'none';
			Dsq.$('dsq-append-post-' + post_id).className = '';
			Dsq.$('dsq-comment-footer-reply-' + post_id).className = 'dsq-comment-footer-reply';
		}
		
		this.stateReplyToggled[post_id] = !this.stateReplyToggled[post_id];

		if(Dsq.Utils.ie && this.stateReplyToggled[post_id]) {

		}

		Dsq.Events.fire(Dsq.Events.REPLY_IFRAME_TOGGLED, {
			postId: post_id,
			opened: this.stateReplyToggled[post_id]
		});
	};
	
	this.moderateOptions = function(post_id) {
		var _meta = Dsq.jsonData.posts[post_id];
		var userData = Dsq.jsonData['users'][_meta.user_key];
		
		if(!Dsq.jsonData.request.is_moderator && !Dsq.jsonData.request.is_global_moderator) { return false; }

		var html;
		
		html = ' \
		<div class="dsq-moderate-options"> \
		<table>'
		+ (_meta.email ? '<tr><td>Email</td><td>' + _meta.email + '</td></tr>' : '')
		+ (_meta.ip ? '<tr><td>IP address</td><td>' + _meta.ip + '</td></tr>' : '')
		+ '<tr> \
			<td>Actions</td> \
			<td><ul>'
			+ (Dsq.jsonData.request.moderator_can_edit
				? '<li><a href="#" onclick="Dsq.Post.edit(this, ' + post_id + '); Dsq.Popup._closePopup(null, true); return false;">Edit Comment</a></li>'
				: '')
			+ '<li><a href="#" onclick="Dsq.Post.removePost(' + post_id + ', 1); Dsq.Popup._closePopup(null, true); return false;">Delete Comment</a></li> \
			<li><a href="#" onclick="Dsq.Post.reportSpam(' + post_id + '); Dsq.Popup._closePopup(null, true); return false;">Mark Spam</a></li> \
			<li><a href="#" onclick="Dsq.Popup.blacklist(' + post_id + '); return false">Block User</a></li> \
			</ul></td> \
			</table> \
		</div> \
		';
		
		html += '<p>Go to the full <a href="http://disqus.com/comments/moderate/" target="_blank">moderate panel</a> for more options.</p>';
		
		return Dsq.Popup.popModal(html, 'Moderate Options', post_id);
	};
	
	this.placeholder = {
		'class': 'dsq-placeholder',
		'name': Dsq.Strings.NAME,
		'email': Dsq.Strings.EMAIL,
		'website': Dsq.Strings.WEBSITE + ' (' + Dsq.Strings.OPTIONAL.toLowerCase() + ')'
	};
	
	this.handlePlaceholder = function(evt, el, key) {
		var placeholder = Dsq.Templates.placeholder[key];
		var className = Dsq.Templates.placeholder['class'];
		
		switch(evt.type) {
			case 'focus':
				if(el.value == placeholder) {
					el.value = '';
					el.className = '';
				}
				break;

			case 'blur':
				if(el.value == '') {
					el.value = placeholder;
					el.className = className;
				}
				break;
			default:
				break;
		}
	};
	
	this.paginate = function(page, el_clicked) {

		var extra_params = '';

		if(typeof disqus_per_page != 'undefined') {
			extra_params += '&per_page=' + disqus_per_page;
		}
		if(typeof disqus_sort != 'undefined') {
			extra_params += '&sort=' + disqus_sort;
		}

		Dsq.$('dsq-pagination').innerHTML += '<img src="http://media.disqus.com/images/loading-small.gif">';
		
		if(el_clicked) {
			Dsq.Templates.setLoadingButton(el_clicked);
		}
		
		Dsq.Utils.execScript('http://disqus.com/forums/scobleizer/thread.js'
			+ '?slug='	+ 'the_new_a_list'
			+ '&p='		+ page
			+ extra_params);
	};
	
	
	this.rate = function(el, id, vote) {


		if(Dsq.jsonData.request.is_authenticated || Dsq.jsonData.forum.allow_anon_votes) {
			if(vote == 1) {
				Dsq.$('dsq-like-' + id).innerHTML = '<img src="http://media.disqus.com/images/loading-small.gif">';
			}
			Dsq.Utils.execScript('http://disqus.com/forums/scobleizer/vote.js'
				+ '?post_id='    + id
				+ '&vote='        + vote);
		} else {
			Dsq.Popup.login('To rate, please log in');
		}
	};

	this.voted = function(post_id, points, vote) {

		Dsq.$('dsq-like-pts-' + post_id).innerHTML = points + Dsq.Utils.pluralize(points, ' person', ' people') + ' liked this.';

		if(vote) {
			Dsq.$('dsq-like-' + post_id).innerHTML = 'You liked this.&nbsp;&nbsp;';
		}
	};




	this.postComment_onSuccess = function(response, parent_post_id, post_id) {
		var approved = response.message.post_meta.approved;

		if (parent_post_id) {
			Dsq.Post.toggleReply(parent_post_id);
		}

		Dsq.Popup._closePopup(null, true);
		
		if (approved) {
			Dsq.Post.incrementPostCount();
			Dsq.Post.outlineComment(post_id);
		} else {			
			var unapproved_msg = 'Thanks for posting!\
	 Your comment must be approved by a moderator before appearing here.\
			';
			Dsq.Popup.popModal(unapproved_msg, 'Comment awaiting approval', post_id);
		}

		var sharing_results = response.message.sharing_results;
		var sharing_errors = '';
		for (var service in sharing_results) {
			if (sharing_results.hasOwnProperty(service) === true) {
				if (sharing_results[service].error === true) {
					sharing_errors += service + ', ';
				}
			}
		}

		if (sharing_results.facebook && sharing_results.facebook.callback) {
			FB.ensureInit(function() {
				FB.Connect.streamPublish('', sharing_results.facebook.attachment);
			});
		}

		if (sharing_errors !== '') {
			var message = 'Your comment was posted, but there were errors sharing with the following connections: ';
			message += sharing_errors.replace(/,\s$/, '');
			message += '<p><a href="' + Dsq.jsonData.settings.disqus_url + '/profile/connections" target="_blank">Configure your connections here</a></p>'
			Dsq.Popup.popModal(message, 'Sharing options');
		}

		Dsq.Templates.setLoadingButton(false);
	};

	this.postComment_onFailure = function(response, parent_post_id, post_id) {

		Dsq.Templates.setLoadingButton(false);
	};
};




// TODO: It might be faster to use string methods to find all <li (...) </li> blocks and pass to Dsq.PostHandler manually.
Dsq.CommentsHandler = function(str, head, post_id, content, tail, offset, s) {
	var prepend_post = Dsq.Templates.prependPost(post_id);
	var append_post = Dsq.Templates.appendPost(post_id);

	content = content.replace(Dsq.POST_RE, Dsq.PostHandler);
	Dsq.Templates.postLoopCounter++;
	head = Dsq.Templates.Filters.commentContainer(post_id, head);
	return prepend_post + head + content + tail + append_post;
};

Dsq.PostHandler = function(str, h_head, post_id, h_content, h_tail, b_head, b_content, b_tail, offset, s) {
	var prepend_header = Dsq.Templates.postPrependHeader(post_id);
	var append_header = Dsq.Templates.postAppendHeader(post_id);
	var prepend_body = Dsq.Templates.preBody(post_id);
	var append_body = Dsq.Templates.postBody(post_id);
	var append_footer = Dsq.Templates.postFooter(post_id);

	b_content = b_content.replace(Dsq.POST_BODY_RE, Dsq.PostBodyHandler);
	return h_head + prepend_header + h_content + append_header + h_tail + b_head + prepend_body + b_content + append_body + b_tail + append_footer;
};

Dsq.PostBodyHandler = function(str, head, post_id, content, tail, offset, s) {
	content = Dsq.Templates.Filters.commentContent(post_id, content);
	return head + content + tail;
};

Dsq.MediaPostHandler = function(str, args, offset, s) {
	args = args.split(' ');
	if(args[0] == 'seesmic') {
		return '<br />' + Dsq.Templates.mediaSeesmic(args[1], args[2]);
	}
	return '';
};


/**
 * Shorcuts
 */
Dsq.$ = function(element) { return document.getElementById(element); };
Dsq.$b = document.body || document.getElementsByTagName('body')[0];


/**
 * Dsq.Debug: Logging functions.
 */

Dsq.Debug = new function() {this.log=function(s){};this.profile=function(f){if(typeof f == 'function')return f();else return eval(f);};};


/**
 * Dsq.Urls: URL paths
 */
Dsq.Urls = new function() {
	this.LOGIN = '/profile/login/';
	this.LOGOUT = '/logout/';
	this.REPLY = 'http://scobleizer.disqus.com/the_new_a_list/reply.html';
	this.REQUEST_USER_PROFILE = '/AnonymousUser/';
	this.REQUEST_USER_AVATAR = 'http://media.disqus.com/images/noavatar92.png';
};
// Dsq.Urls

/**
 * Dsq.Validators: Validation for form fields
 */
Dsq.Validators = new function() {
	this.VALID_EMAIL_RE = /^[a-z0-9\-\_\+]+(\.[a-z0-9\-\_\+]+)*\@(([a-z0-9\-\_\+]+(\.[a-z0-9\-\_\+]+)*)+\.[a-z]{2,}|([0-9]+\.){3}[0-9]+)$/i;
	this.name = function(name) {
		var error = false;

		if(typeof Dsq.Templates.placeholder !== 'undefined' &&
		   name == Dsq.Templates.placeholder.name) {
			error = true;
		}
		if(name.length <= 1) {
			error = true;
		}

		if(error) {
			return "Please enter a name to comment.";
		} else {
			return true;
		}
	};
	this.email = function(addr) {
		if(Dsq.Validators.VALID_EMAIL_RE.test(addr)) {
			return true;
		} else {
			return "Please enter a valid email to comment.";
		}
	};
	this.url = function(addr) {
		if(!addr || addr.indexOf('.') != -1) {
			return true;
		} else {
			return "Please check your website URL (this field is optional).";
		}
	};

	this.validate = function(bulk_validation, failure_callback) {
		failure_callback = failure_callback || function(e){ alert(e); };

		for(var i = 0; i < bulk_validation.length; i++) {
			v = bulk_validation[i];
			ret = v.validator(v.value);
			if(ret !== true) {
				failure_callback(ret);
				return false;
			}
		}
		return true;
	};
};

/**
 * Dsq.Utils: Generic utility functions.
 */
Dsq.Utils = new function() {
	this.ie = /msie/i.test(navigator.userAgent) && !/opera/i.test(navigator.userAgent);
	this.ie7 = (document.all && !window.opera && window.XMLHttpRequest) ? true : false;
	this.ie6 = (!window.XMLHttpRequest) ? true: false;
	this.webkit = navigator.userAgent.indexOf('AppleWebKit/') >= 0;
	this.gebiFromElementCollectionCache = {};
	this._styleSheet = null;

	this.gebiFromElement = function(el, id, tag) {
		// This only method only helps IE.
		if(!this.ie) {
			return Dsq.$(id);
		} else {
			var cacheKey = el.id + '-' + tag;
			tag = tag || 'div';
			if(typeof this.gebiFromElementCollectionCache[cacheKey] != 'undefined') {
				collection = this.gebiFromElementCollectionCache[cacheKey];
			} else {
				collection = el.getElementsByTagName(tag);
				this.gebiFromElementCollectionCache[cacheKey] = collection;
			}

			for(var i = 0; i < collection.length; i++) {
				if(collection[i].id == id) {
					return collection[i];
				}
			}
			return null;
		}
	};

	this.execOnReady = function(func) {
		var node = document.createElement('document:ready');
		try {
			node.doScroll('left');
			func();
			node = null;
		} catch(err) {
			setTimeout(function() { Dsq.Utils.execOnReady(func); }, 10);
		}
	};


	// Courtesy of http://www.quirksmode.org/js/cookies.html
	this.createCookie = function(name,value,days) {
		if (days) {
			var date = new Date();
			date.setTime(date.getTime()+(days*24*60*60*1000));
			var expires = "; expires="+date.toGMTString();
		}
		else var expires = "";
		document.cookie = name+"="+value+expires+"; path=/";
	};

	this.readCookie = function(name) {
		var nameEQ = name + "=";
		var ca = document.cookie.split(';');
		for(var i=0;i < ca.length;i++) {
			var c = ca[i];
			while (c.charAt(0)==' ') c = c.substring(1,c.length);
			if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
		}
		return null;
	};

	this.eraseCookie = function(name) {
		Dsq.Utils.createCookie(name,"",-1);
	};

	this.deleteNode = function(node) {
		if(node) {
			this.deleteChildren(node);
			if(typeof node.outerHTML != 'undefined') { node.outerHTML = ''; }
			else if(node.parentNode) { node.parentNode.removeChild(node); }
			delete node;
		}
	};

	this.deleteChildren = function(node) {
		if(node) {
			for(var x = node.childNodes.length-1; x >= 0; x--) {
				var childNode = node.childNodes[x];
				if(childNode.hasChildNodes()) { this.deleteChildren(childNode); }
				if(typeof childNode.outerHTML != 'undefined') { childNode.outerHTML = ''; }
				else node.removeChild(childNode);
				delete childNode;
			}
		}
	};

	this.findPos = function(obj) {
		var curleft = 0;
		var curtop = 0;
		if (obj.offsetParent) {
			do {
				curleft += obj.offsetLeft;
				curtop += obj.offsetTop;
			} while (obj = obj.offsetParent);
		}
		return [curleft,curtop];
	};

	this.getWindowSize = function() {
		var windowWidth = -1;
		var windowHeight = -1;

		if(typeof(window.innerWidth) == 'number') { //Non-IE
			windowWidth = window.innerWidth;
			windowHeight = window.innerHeight;
		} else if(document.documentElement) { // IE 6+ in 'standards compliant mode'
			windowWidth = document.documentElement.clientWidth || document.body.clientWidth;
			windowHeight = document.documentElement.clientHeight || document.body.clientHeight;
		}

		return [windowWidth, windowHeight];
	}

	this.getScrollPos = function() {
		var scrollWidth, scrollTop;

		if(document.documentElement && (document.documentElement.scrollTop || document.documentElement.scrollWidth)) {
			scrollWidth = document.documentElement.scrollWidth;
			// IE is weird here.  If no doctype is provided, document.body.scrollTop is 0,
			// otherwise document.documentElement.scrollTop is 0.
			scrollTop = document.documentElement.scrollTop || document.body.scrollTop;
		} else if(document.body.scrollTop && document.body.scrollWidth) {
			scrollWidth = document.body.scrollWidth;
			scrollTop = document.body.scrollTop;
		}

		return [scrollWidth, scrollTop];
	}

	this.addEventListener = function(instance, eventName, listener) {
		var listenerFn = listener;
		if (instance.addEventListener) {
			instance.addEventListener(eventName, listenerFn, false);
		} else if (instance.attachEvent) {
			listenerFn = function() {
				listener(window.event);
			};
			instance.attachEvent("on" + eventName, listenerFn);
		} else {
			throw new Error("Event registration not supported");
		}
		return {
			instance: instance,
			name: eventName,
			listener: listenerFn
		};
	};

	this.removeEventListener = function(event) {
		var instance = event.instance;
		if (instance.removeEventListener) {
			instance.removeEventListener(event.name, event.listener, false);
		} else if (instance.detachEvent) {
			instance.detachEvent("on" + event.name, event.listener);
		}
	};

	this.fixIframesIE = function(id) {
		var disqusThread = Dsq.$(disqus_container_id);
		var iframes = disqusThread.getElementsByTagName('iframe');

		if(id) {
			var container = Dsq.$(id);
		} else {
			var container = Dsq.$('dsq-content');
		}

		for(i = 0; i < iframes.length; i++) {
			if (container) {
				iframes[i].style.width = container.offsetWidth;
			}
		}
	};

	this.getElementsByClassName = function(oElm, strTagName, strClassName) {
	/* Credit: Jonathan Snook [http://www.snook.ca/jonathan], Robert Nyman [http://www.robertnyman.com] */
		var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
		var arrReturnElements = new Array();
		strClassName = strClassName.replace(/\-/g, "\\-");
		var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
		var oElement;
		for(var i = 0; i < arrElements.length; i++) {
			oElement = arrElements[i];
			if(oRegExp.test(oElement.className)) {
				arrReturnElements.push(oElement);
			}
		}
		return (arrReturnElements);
	};

	this.postToUrl = function(url, post_data, opt_redirect) {
		var form = document.createElement('form');
		var iframe_container = document.createElement('div');
		var id = 'dsq-temp-iframe-' + (new Date()).getTime();

		form.method = 'POST';
		form.action = url;
		if (!opt_redirect) {
			form.target = id;
		}
		iframe_container.innerHTML = '<iframe style="display:none" name="' + id + '" id="' + id + '"></iframe>';

		for(var key in post_data) {
			if(post_data.hasOwnProperty(key)) {
				var input = document.createElement('input');
				input.name = key;
				input.type = 'hidden';
				input.value = post_data[key];

				form.appendChild(input);
			}
		}

		Dsq.$b.appendChild(iframe_container);
		Dsq.$b.appendChild(form);
		form.submit();
	};

	// Strips integer id from id of element in the form ('some-id-###')
	this.extractId = function(e) {
		var chunks = e.id.split('-');
		if(chunks.length <= 1) {
			return 0;
		} else {
			var retval = parseInt(chunks[chunks.length-1]);
			return !isNaN(retval) ? retval : null;
		}
	};

	this.getStyle = function(el, styleProp) {
		if(el.currentStyle) {
			var y = el.currentStyle[styleProp];
		} else if(window.getComputedStyle) {
			var y = document.defaultView.getComputedStyle(el, null).getPropertyValue(styleProp);
		}

		if(y == 'transparent' || y == '') {
			this.getStyle(el.parentNode, styleProp);
		} else {
			return y;
		}
	};

	this.execScript = function(url, append_qs, container) {
		var script = document.createElement('script');
		append_qs = typeof append_qs == 'undefined' ? true : append_qs;
		container = container || Dsq.container;

		if(append_qs) {
			var j = (url.indexOf('?') >= 0) ? '&' : '?';
			url += j + (new Date()).getTime();
		}
		script.type = 'text/javascript';
		script.charset = 'UTF-8';
		script.src = url;
		container.appendChild(script);
		return script;
	};

	this.pluralize = function(num, singular, plural) {
		return (num != 1) ? plural || 's' : singular || '';
	};

	this.getRequestParams = function(queryString /* optional */) {
		var pairs, tuple;
		var params = {};

		queryString = queryString || window.location.search.substring(1);
		pairs = queryString.split('&');

		for (var i = 0, pair; pair = pairs[i]; i++) {
			tuple = pair.split('=');
			params[tuple[0]] = (tuple[1] || true);
		}

		return params;
	};

	this.addCssRule = function(selector, styleText, index) {
		var stylesheet;
		index = index || 0;

		if(!this._styleSheet) {
			var styleEl = document.createElement('style');
			document.getElementsByTagName('head')[0].appendChild(styleEl);
			this._styleSheet = styleEl.sheet;
			if(!this._styleSheet) {
				// IE does not like our newly created stylesheet.
				this._styleSheet = document.styleSheets[document.styleSheets.length-1];
			}
		}
		stylesheet = this._styleSheet;

		if(stylesheet.insertRule) {
			var ruleText = selector + ' { ' + styleText + ' }';
			if(index == -1) {
				index = stylesheet.cssRules.length;
			}
			stylesheet.insertRule(ruleText, index);
		} else if(stylesheet.addRule) {
			stylesheet.addRule(selector, styleText, index);
		}
	};

	this.forEachIn = function(obj, callback) {
		for(var key in obj) {
			if(obj.hasOwnProperty(key)) {
				callback(key, obj[key]);
			}
		}
	};

	this._interpolateGlobalContext = {
		// values that get used a lot and are global to the request
		'profile_url': Dsq.Urls.REQUEST_USER_PROFILE,

		'disqus_url': Dsq.jsonData.settings.disqus_url,
		'media_url': Dsq.jsonData.settings.media_url,
		'request_username': Dsq.jsonData.request.username,
		'request_display_username': Dsq.jsonData.request.display_username,
		'forum_name': Dsq.jsonData.forum.name
	};

	this.renderFromContextStack = function(key, contexts) {
		// Returns the first instance of `key` in the array of objects `contexts` or else ''
		for (var i=0; i<contexts.length; i++) {
			if (contexts[i][key] !== undefined) {
				return String(contexts[i][key]);
			}
		}
		throw new Error('key ' + key + ' not found in context');
	};

	var that = this;
	this.interpolate = function(fmt, opt_localContext) {
		// Interpolate `fmt` named-format string with an assumed global context.
		// Based on `interpolate` in django.views.i18n
		var contextStack = [opt_localContext || {}, that._interpolateGlobalContext];
		return fmt.replace(/%\(\w+\)s/g, function(match){
			return that.renderFromContextStack(match.slice(2,-2), contextStack);
		});
	};

	this.stripTags = function(s) {
		// Removes HTML tags from `s`
		return s.replace(/(<([^>]+)>)/g,"");

	};

	this.assert = function(b) {
		if (!b) {
			throw new Error('Assertion error.');
		}
	};

};
// Dsq.Utils

/**
 * Dsq.Popup: Popup helper functions.
 */
Dsq.Popup = new function() {
	this.timeHide = new Array();
	this.timeShow = new Array();
	this.activePopup = {};
	this.profileCache = {};
	this.statusCache = {};

	this.showTimer = function(post_id) {
		// clear the hide timer
		clearTimeout(this.timeHide[post_id]);

		// start the timer
		if(!Dsq.Popup.profileIsOn && !Dsq.Thread.adminIsOn) {
			this.timeShow[post_id] = setTimeout("Dsq.Popup.popProfile(\"" + post_id + "\")", 400);
		}
	};

	this.hideTimer = function(post_id) {
		// clear the show timer
		clearTimeout(this.timeShow[post_id]);
	};

	this.updateProfile = function(username) {
		// Callback from /embed/profile.js
		if (this.statusCache[username]) {
			var statusEl = Dsq.$('dsq-profile-status-' + username);
			statusEl.innerHTML = this.statusCache[username];
			statusEl.style.display = 'block';
		}

		if (this.profileCache[username]) {
			var _cache = this.profileCache[username];

			var _genhtml = function(text) { return '<span><big>' + text + '</big></span>'; };
			var _no_comments = _genhtml(Dsq.FmtStrings.NUMBER_OF_COMMENTS(_cache.comments_count));
			var _no_likes = _genhtml(Dsq.FmtStrings.NUMBER_OF_LIKES(_cache.likes_count));
			var _no_points = _genhtml(Dsq.FmtStrings.NUMBER_OF_POINTS(_cache.points));

			var statsEl = Dsq.$('dsq-popup-profile-user-stats-' + username);
			statsEl.innerHTML = '';

			if (Dsq.jsonData.users[username].registered) {
				statsEl.innerHTML = _no_comments + _no_likes;
			}
			statsEl.innerHTML += _no_points;

			var activeSites = '';
			for (var i = 0; i < _cache.active_sites.length; i++) {
				var site = _cache.active_sites[i];
				activeSites += '<li><a href="' + site.url + '"> \
					<img src="' + site.favicon + '"/ width="16" height="16"/></a>\
					<a href="' + site.url + '">' + site.name + '</a></li>';
			}
			if (activeSites !== '') {
				Dsq.$('dsq-popup-profile-active-sites-' + username).innerHTML = activeSites;
			} else {
				Dsq.$('dsq-popup-profile-active-sites-' + username).innerHTML = 'This site.';
			}

			var moderatedSites = '';
			for (var i = 0; i < _cache.moderated_sites.length; i++) {
				var site = _cache.moderated_sites[i];
				moderatedSites += '<li><a href="' + site.url + '"> \
					<img src="' + site.favicon + '"/ width="16" height="16"/></a>\
					<a href="' + site.url + '">' + site.name + '</a></li>';
			}
			if (moderatedSites !== '') {
				Dsq.$('dsq-popup-profile-moderated-' + username).innerHTML = moderatedSites;
			} else {
				Dsq.$('dsq-popup-profile-moderated-wrapper-' + username).innerHTML = '';
			}
		}

		// Reposition popup after full HTML is rendered
		if(Dsq.Popup.activePopup && Dsq.Popup.activePopup.el) {
			Dsq.Popup.initPopup(Dsq.Popup.activePopup.el, Dsq.Popup.activePopup.id, Dsq.Popup.activePopup.type);
		}

	};

	this.showCookieMsgs = function() {
		var title = '';
		var message = '';
		var numAlerts = 0;

		Dsq.Utils.forEachIn(Dsq.jsonData.cookie_messages, function(k, v) {
			if (!v) return;

			switch(k) {
				// Cookie: Twitter
				case 'post_twitter':
					if (v === 'error') {
						title = 'Twitter Error!';
						message += '<li id="dsq-msg-twitter-error">Oops, we couldn\'t tweet this comment. Please check your <a href="http://disqus.com/account/services">account settings</a>.</li>';
					} else {
						var _msg = v.split(':');
						title = 'Tweeted!';
						message += '<li id="dsq-msg-twitter-success">Your comment was successfully tweeted. <a href="http://twitter.com/' + _msg[0] + '/status/' + _msg[1] + '">Click here to view the tweet</a>.</li>';
					}
					break;
				// Cookie: Unapproved Post
				case 'post_not_approved':
					title = 'Comment awaiting approval by a moderator';
					message += '<li id="dsq-msg-post-not-approved">Your comment must be approved by a moderator before appearing here.</li>';
					break;
				// Cookie: Profile Found
				case 'post_has_profile':
					title = 'Use your existing commenter profile';
					message += '<li id="dsq-msg-post-has-profile">You have just posted your commment as a <span class="dsq-badge-guest">Guest</span>, but you may already have a <span class="logo-disqus">Disqus</span> Profile.<br /><br /><a href="http://disqus.com/claim">Log in and claim this comment!</a></li>';
					break;
				case 'user_created':
					var _data = v.split(':');
					title = 'Profile created!';
					message += '<li id="dsq-msg-user-created">You have just created a <span class="logo-disqus">Disqus</span> Profile, the best way to claim, manage, and track your comments all over the web. \
					<br /><br />A confirmation is being sent to <strong>' + _data[1] + '</strong>. Please check for this email in order to verify your profile. \
					<ul class="dsq-list-tick"> \
						<li>Your username is <strong>' + _data[0] +'</strong>. <a href="http://disqus.com/people/' + _data[0] + '/" target="_blank">Click here to view your public profile</a>.</li> \
						<li>Be sure to set your profile picture, as well as connect your <span class="dsq-badge-facebook">Facebook</span> and <span class="dsq-badge-twitter">Twitter</span> accounts. <a href="http://disqus.com/account/" target="_blank">Click here for account settings</a>.</li> \
					</ul> \
					</li>'
					break;
				default:
					break;
			}
			numAlerts++;
		});

		if(numAlerts > 1) {
			message = '<ul class="dsq-list-bluebullet">' + message;
			message += '</ul>';
			title = 'Thanks for posting!';
		}
		if(numAlerts > 0) {
			if(typeof(disqus_cookie_msgs) == 'function') {
				disqus_cookie_msgs(message, title);
			} else {
				Dsq.Popup.popModal(message, title);
			}
		}
	};

	this.helpBadges = function(post_id) {
		var html = ' \
			<ul class="dsq-popup-help"> \
				<li><span class="dsq-badge dsq-badge-verified">Verified</span> has a <span class="logo-disqus">Disqus</span> Profile with a confirmed email address.</li> \
				<li><span class="dsq-badge dsq-badge-registered">Registered</span> has a <span class="logo-disqus">Disqus</span> Profile, but has not yet confirmed his or her email address.</li> \
				<li><span class="dsq-badge dsq-badge-guest">Guest</span> is not logged in with any account and has not claimed his or her comments.</li> \
				<li class="dsq-help-otheraccts">Other accounts</li> \
				<li><span class="dsq-badge dsq-badge-facebook">Facebook</span> is using his or her Facebook profile via Facebook Connect.</li> \
				<li><span class="dsq-badge dsq-badge-twitter">Twitter</span> is using his or her Twitter profile via Twitter Sign-in.</li> \
				<li><span class="dsq-badge dsq-badge-openid">OpenID</span> is using his or her OpenID.</li> \
			</ul> \
		';

		this.popModal(html, 'Help: Types of Commenters', post_id);
		return;
	};

	this.permalink = function(post_id) {
		var header = 'Link to this comment';
		var body = '<strong>You are anchored to</strong>:<br />' + document.location.protocol + '//' + document.location.host + document.location.pathname + document.location.search + '#comment-' + post_id;

		this.popModal(body, header, post_id);
	};

	this.login = function(header, body) {
		var h = header || 'Login or Register';
		var b = body || '';
		b += Dsq.Templates.frameLogin({id: 'dsq-popup-login'});
		b += '</iframe>'; // HACK: Sometimes there is something funky with the IFRAME SRC that causes no end tag
		this.popModal(b, h, null, true, 'dsq-popup-login');
	};

	this.blacklist = function(id) {
		var _meta = Dsq.jsonData.posts[id];
		var userData = Dsq.jsonData['users'][_meta.user_key];
		var title = 'Add to Blacklist';
		var message = ' \
		Adding this person to the blacklist will block him or her from commenting on this site. Check the following types that you would like to add to the blacklist:'
		+ (userData['registered'] ?
			'<div class="dsq-blacklist-option"> \
				<input id="dsq-blacklist-username" type="checkbox" checked> \
				<label for="dsq-blacklist-username"><strong>Username</strong>: ' + userData['username'] + '</label> \
			</div>'
			: '')
		+ (_meta.email ?
			'<div class="dsq-blacklist-option"> \
				<input id="dsq-blacklist-email" type="checkbox" checked> \
				<label for="dsq-blacklist-email"><strong>Email address</strong>: ' + _meta.email + '</label> \
			</div>'
			: '')
		+ '<div class="dsq-blacklist-option"> \
			<input id="dsq-blacklist-ip" type="checkbox" onclick="Dsq.$(\'dsq-blacklist-ip-warning\').style.display=\'block\'"> \
			<label for="dsq-blacklist-ip"><strong>IP address</strong>: ' + _meta.ip + '</label> \
		</div> \
		';

		message += ' \
			<p id="dsq-blacklist-ip-warning" style="display:none">	\
				Note: Blocking this person\'s IP address may also unintentionally prevent others, who share his/her IP address, from commenting on this site. \
				This may include people who are sharing the same computer, living in the same house, or using the same Internet provider. Only block an IP address as a last resort. \
			</p> \
		';

		message += ' \
			<p style="text-align:center"><button type="button" onclick="Dsq.Post.blockUser(' + id + '); this.disabled=true; this.innerHTML=\'Just one moment...\'">Add to Blacklist</button></p> \
		';

		Dsq.Popup.popModal(message, title);
	};

	this.remoteAccountSettings = function() {
		var body = '';
		// Set up IFrame.
		var params = {};
		var base_url = 'http://disqus.com/forums/scobleizer/_auth/embed/remote_settings/';
		var attributes = {id: 'dsq-popup-account-settings'};
		if (typeof disqus_frame_theme != 'undefined') {
			params['theme'] = disqus_frame_theme;
		}

		body = Dsq.Templates._frameGeneric(base_url, params, attributes);
		this.popModal(body, 'Account Settings', null, true, 'dsq-popup-account-settings');
	};

	this.popModal = function(message, title, post_id, use_listener, extra_classes) {
		var container = document.createElement('div');
		var header, body;

		Dsq.Popup._closePopup(null, true);

		if(typeof(title) == 'undefined') { title = ''; }
		if(typeof(use_listener) == 'undefined') { use_listener = true; }

		if(post_id) {
			container.id = 'dsq-popup-message-' + post_id;
		} else {
			container.id = 'dsq-popup-message';
		}

		header = title;
		body = message;

		container.innerHTML = Dsq.Templates.popupModal(header, body);
		Dsq.Popup.initPopup(container, post_id, 'message', extra_classes);
		if(use_listener) {
			Dsq.Popup.popupListener = Dsq.Utils.addEventListener(document, 'mouseup', Dsq.Popup._closePopup);
		}
	};

	this.popAlert = this.popModal;

	this.loading = function(post_id) {
		var title = Dsq.Strings.JUST_A_MOMENT;
		var body = '<div style="text-align:center; padding: 5px 0 10px 0"><img src="http://media.disqus.com/images/loading.gif" alt="" /></div>'
		Dsq.Popup.lightbox(body, title, post_id);
	};

	this.lightbox = function(message, title, post_id) {
		// Wraps Dsq.Popup.popModal

		var overlay = document.createElement('div');
		overlay.id = 'dsq-overlay';
		overlay.className = 'dsq-overlay';
		Dsq.$b.appendChild(overlay);
		
		Dsq.Popup.popModal(message, title, post_id, false, 'dsq-lightbox');
	};

	this.popProfile = function(post_id, userKey) {
		var post = Dsq.jsonData['posts'][post_id];
		if (post && post.has_been_anonymized) {
			Dsq.Popup.popModal('This message was anonymized by its previous owner.', 'Anonymized', post_id);
			return;
		}

		if(post_id) {
			userKey = Dsq.jsonData['posts'][post_id].user_key;	
		}
		var userData = Dsq.jsonData['users'][userKey];
		var elId = 'dsq-popup-profile-' + userKey;
		var container = document.createElement('div');

		if(this.activePopup.el) {
			this._closePopup(null, true);
			if(this.activePopup.linkClicked) {
				this.activePopup.linkClicked = false;
				return;
			}
		}

		container.id = elId;
		container.innerHTML = Dsq.Templates.popupProfile(userKey);

		this.initPopup(container, post_id, 'profile');
		this.popupListener = Dsq.Utils.addEventListener(document, 'mouseup', this._closePopup);

		if(!this.profileCache[userKey]) {
			Dsq.Utils.execScript('http://disqus.com/embed/profile.js'
				+ '?username=' + userKey
				+ '&anon=' + (userData['registered'] ? 0 : 1)
				+ '&f=' + Dsq.jsonData['request'].forum);
		} else {
			this.updateProfile(userKey);
		}
	};

	this._closePopup = function(e, force) {
		var activePopup = Dsq.Popup.activePopup.el;
		var id = Dsq.Popup.activePopup.id;
		var link = 'dsq-avatar-' + id; // HACK: Specific to profile toggle target

		// HACK: This event should be gone if there is no active popup.
		if(!activePopup) {
			return;
		}
		if(force || !Dsq.Popup.isClicked(e, activePopup.id)) {
			// TODO: This is breaking iE?
			if(Dsq.Popup.popupListener) {
				Dsq.Utils.removeEventListener(Dsq.Popup.popupListener);
			}
			
			// Kill overlay
			var overlay = Dsq.$('dsq-overlay');
			if(overlay) { Dsq.Utils.deleteNode(overlay); }
			
			try {
				Dsq.Utils.deleteNode(activePopup);
			} catch(e) {
				// HACK: IE6 throws an error when using deleteNode() with a node containing a <table> in the html.
				activePopup.parentNode.removeChild(activePopup);
			}
			Dsq.Popup.activePopup = {};
		}

		if(!force && Dsq.Popup.isClicked(e, link)) {
 			Dsq.Popup.activePopup.linkClicked = true;
		}

	};

	this.initPopup = function(popup, post_id, type, extra_classes) {
		popup.className = 'dsq-popup dsq-popup-' + type + ' ' + (extra_classes ? extra_classes : '');
		if(Dsq.Utils.ie6 || Dsq.Utils.ie7) {
			// HACK: We can't modify the body before it's ready, so we need
			//       to use an IE-safe "DOMReady" workaround before loading
			//       our popup.
			Dsq.Utils.execOnReady(function() {Dsq.$b.appendChild(popup); });
		} else {
			Dsq.$b.appendChild(popup);
		}

		popup.style.display = 'block';

		var xPos = (Dsq.Utils.getWindowSize()[0] - popup.offsetWidth) / 2;
		var yPos = (Dsq.Utils.getWindowSize()[1] - popup.offsetHeight) / 2;

		if(Dsq.Utils.ie6) {
			yPos += Dsq.Utils.getScrollPos()[1];
		}

		popup.style.left = xPos + 'px';
		popup.style.top = yPos + 'px';

		Dsq.Popup.activePopup = {
			'el' : popup,
			'id' : post_id,
			'type': type,
			'linkClicked' : false
		};
	};

	this.isClicked = function(e, id) {
		var t = e.target || e.srcElement;
		while(t && t.parentNode) {
			if(t.id == id) {
				return true;
			}

			t = t.parentNode;
		}
		return false;
	};
};
// Dsq.Popup

/**
 * Dsq.Templates
 */
Dsq.Templates = new function() {
	/*
	 * Counter keeping track of the number of posts iterated over.
	 */
	this.postLoopCounter = 0;
	this.filters = {};
	this.addPostContainer = 'dsq-post-add';
	this.textareaContainer = 'dsq-post-add';

	this.registerTemplate = function(name, func) {
		this['$$_' + name] = func;

		if(typeof DsqLocal.Filters != 'undefined'
		&& typeof DsqLocal.Filters[name] == 'function') {
			// Push filters to this.filters to unify code.
			this.filters[name] = this.filters[name] || [];
			this.filters[name].push(DsqLocal.Filters[name]);
		}

		this[name] = function() {
			var ret;

			if(typeof DsqLocal.Templates != 'undefined'
			&& typeof DsqLocal.Templates[name] == 'function') {
				ret = DsqLocal.Templates[name].apply(this, arguments);
			}

			if(ret === undefined) {
				ret = this['$$_' + name].apply(this, arguments);
			}

			if(this.filters[name]) {
				var args = [ret];

				args.push.apply(args, arguments);
				for(var i = 0; i < this.filters[name].length; i++) {
					ret = this.filters[name][i].apply(this, args);
				}
			}

			return ret;
		};
	};

	this.registerFilter = function(name, func) {
		this.filters[name] = this.filters[name] || [];
		this.filters[name].push(func);
	};

	/**
	 * Dsq.Templates.Filters
	 */
	this.Filters = new function() {
		this.commentContainer = function(post_id, s) {
			var _meta = Dsq.jsonData.posts[post_id];
			var classes = [];
			if(Dsq.jsonData.request.page > 1) {
				classes.push('dsq-append');
			}

			//
			// Extra classes used for custom themes
			//

			if(_meta.depth) {
				classes.push('dsq-comment-child', 'dsq-depth-' + _meta.depth, 'dsq-parent-is-' + _meta.parent_post_id);
			}


			//

			if(_meta.author_is_creator) {
				// TODO: We need to deprecate the "special" class since it is not properly prefixed.
				classes.push('special', 'dsq-special');
			}
			if(_meta.author_is_moderator) {
				classes.push('dsq-moderator');
			}
			classes.push(['dsq-odd', 'dsq-even'][Dsq.Templates.postLoopCounter % 2]);

			s = s.substring(0, s.lastIndexOf('>'));
			return s + ' class="dsq-comment ' + classes.join(' ') + '" style="margin-left:' + _meta.depth*30 + 'px">';
		};

		this.commentContent = function(post_id, s) {
			var _meta = Dsq.jsonData.posts[post_id];
			if (_meta.killed) {
				return '<em>Comment removed.</em>';
			} else if (!_meta.approved) {
				return '<em>This comment was flagged for review.</em>';
			}

			s = s.replace(Dsq.MEDIA_POST_RE, Dsq.MediaPostHandler);
			return s;
		};
	};

	//
	// Thread
	//
	// TODO: These need to be stripped of all Django template tags.

	this.authPost = function() {
		if (!Dsq.jsonData.context.show_reply) {
			return '';
		}
		var result = [];
		result = result.concat([
				'<div id="dsq-auth"',
						Dsq.jsonData.integration.reply_position ? 'class="dsq-auth-bottom"' : '',
						'>',
					'<div class="dsq-by">',
						'<a href="http://disqus.com" target="_blank">',
							(Dsq.jsonData.integration.disqus_logo ?
								Dsq.Utils.interpolate('<img src="%(media_url)s/images/embed/by-disqus.png" alt="discussion by DISQUS">') :
								Dsq.Utils.interpolate('<img src="%(media_url)s/images/embed/dsq-button-120x19.png" alt="discussion by DISQUS">')
							),
						'</a>',
					'</div>',
					'<div class="dsq-auth-header">',
						'<h3 id="dsq-add-new-comment" class="dsq-h3-addcomment">',
								Dsq.Strings.ADD_NEW_COMMENT,
						'</h3>',
						'<div id="dsq-login">',
						(!Dsq.jsonData.request.is_authenticated && Dsq.jsonData.forum.allow_anon_post
								? '<p class="dsq-login-message" id="dsq-login-message">You are commenting as a <a class="dsq-help" title="Click for more information" href="#" onclick="Dsq.Popup.helpBadges(); return false">Guest</a>. You may select one to log into:</p>'
								: '')
		]);
		if (!Dsq.jsonData.request.is_authenticated) {
			result = result.concat([
							Dsq.Utils.interpolate(
								'<a id="dsq-login-toggle" href="%(disqus_url)s%(login_url)s?next=article:%(thread_id)s" onclick="Dsq.Popup.login(); return false"><img class="dsq-login-icon" src="%(media_url)s/images/dsq-profile-btn.png" title="%(log_into)s" alt="%(log_into)s"/></a>',
								{login_url: Dsq.Urls.LOGIN, thread_id: Dsq.jsonData.thread.id, log_into: Dsq.Strings.LOG_INTO_DISQUS}
								),
							'&nbsp; ',
							(Dsq.jsonData.context.use_fb_connect ?
								'<div id="dsq-fbc-login" onlogin="DisqusFbcParentController.onLogin()" size="medium" background="light" length="short" style="display:inline; margin-right:7px"></div>' :
								''
							),
							(Dsq.jsonData.context.use_twitter_signin ?
								Dsq.Utils.interpolate(
									'<div id="dsq-twitter-login" class="dsq-twitter-login" onclick="Dsq.Twitter.startTwitterConnect();" style="display:inline; cursor: pointer"><img src="%(media_url)s/images/twitter-signin-short.png" style="margin-right:7px" /></div>', {}) : ''),
							(Dsq.jsonData.context.use_openid ?
								Dsq.Utils.interpolate(
									'<div id="dsq-openid-login" class="dsq-openid-login" onclick="Dsq.OpenID.requestURL();" style="display:inline; cursor:pointer;"><img src="%(media_url)s/images/openid-login-button.png"/></div>', {}
								) : '')
			]);
		}
		result = result.concat([
						'</div>', // dsq-login
					'</div>', // dsq-auth-header
					'<div id="dsq-authenticated" class="dsq-authenticated" ',
						Dsq.jsonData.request.is_authenticated ? 'style="display:block"' : '',
						'>',
						'<div class="dsq-authenticated-pic">',
								Dsq.Utils.interpolate('<a href="%(url)s" title="%(request_display_username)s">' +
																			'<img class="dsq-post-avatar" src="%(avatar_url)s" alt="" /></a>',
																			{avatar_url: Dsq.Urls.REQUEST_USER_AVATAR,
																			url: (Dsq.jsonData.request.is_remote
																					 ? Dsq.jsonData.request.url
																					 : Dsq.jsonData.settings.disqus_url + Dsq.Urls.REQUEST_USER_PROFILE) }),
						'</div>',
						'<div class="dsq-authenticated-info">',
							'<ul>',
								'<li>',
									(Dsq.jsonData.request.is_remote
										? Dsq.FmtStrings.LOGGED_IN_AS(
												Dsq.Utils.interpolate('<a href="%(url)s" title="%(request_display_username)s">%(request_display_username)s</a>', {url:Dsq.jsonData.request.url})
										  )
										: Dsq.FmtStrings.LOGGED_IN_AS(
												Dsq.Utils.interpolate('<a href="%(disqus_url)s%(profile_url)s" title="%(request_display_username)s">%(request_display_username)s</a>')
											)
									),
								'</li>',
								'<li class="logout">',
									(!Dsq.jsonData.request.is_remote
										? Dsq.Utils.interpolate('<img class="dsq-login-icon" src="%(media_url)s/images/dsqicon12.png" alt="%(logged_in_as)s"/>&nbsp',
											{logged_in_as: Dsq.FmtStrings.LOGGED_IN_AS(Dsq.jsonData.request.display_username)})
										: ''),

									(!Dsq.jsonData.request.is_remote
										? Dsq.Utils.interpolate('<a href="%(disqus_url)s%(logout_url)s?ctkn=%(csrf_token)s" title="%(logout_from_disqus)s">',
											{logout_url: Dsq.Urls.LOGOUT, csrf_token: Dsq.CSRF_TOKEN, logout_from_disqus: Dsq.FmtStrings.LOGOUT_FROM('DISQUS')})
										: ((Dsq.jsonData.request.remote_domain == 'twitter')
												? Dsq.Utils.interpolate('using Twitter (<a href="%(disqus_url)s%(logout_url)s?ctkn=%(csrf_token)s" title="Logout">Logout</a>)',
												 {logout_url: Dsq.Urls.LOGOUT, csrf_token: Dsq.CSRF_TOKEN})
												: ((Dsq.jsonData.request.remote_domain == 'openid')
													 ? Dsq.Utils.interpolate('using OpenID (<a href="%(disqus_url)s%(logout_url)s?ctkn=%(csrf_token)s" title="Logout">Logout</a>)',
													 {logout_url: Dsq.Urls.LOGOUT, csrf_token: Dsq.CSRF_TOKEN})
													 : ''
													)
											)
									),

									(!Dsq.jsonData.request.is_remote ? Dsq.FmtStrings.LOGOUT_FROM('<span class="logo-disqus">DISQUS</span>') : ''),
									'</a>',
								'</li>',
							'</ul>',
						'</div>',
					'</div>'
		]);
		if (Dsq.jsonData.context.use_fb_connect) {
			result = result.concat([
					'<div id="dsq-fbc-authenticated" class="dsq-authenticated">',
						'<div id="dsq-fbc-profilepic" class="dsq-authenticated-pic" uid="loggedinuser" type="FB.XFBML.ProfilePic" size="square" facebook-logo="true"></div>',
						'<div class="dsq-authenticated-info">',
							'<ul>',
								'<li>',
									'Logged in as <span id="dsq-fbc-name" uid="loggedinuser" type="FB.XFBML.Name" linked="true" useyou="false"></span>',
								'</li>',
								'<li class="logout">using Facebook Connect <a href="#" onclick="javascript:DisqusFbcParentController.logout();return false;">(Logout)</a></li>',
							'</ul>',
						'</div>',
					'</div>'
			]);
		}
		result = result.concat([
				'</div>', // dsq-auth
				'<div id="dsq-toolbar-items">',
				'</div>'
		]);
		result = result.concat([
					//
					//
					//
				((!Dsq.jsonData.forum.allow_anon_post && !Dsq.jsonData.request.is_authenticated) ?
					// Needs to be translated:
					('<p id="dsq-no-anon-msg">Required: Please log into <span class="logo-disqus">Disqus</span> ' +
					(Dsq.jsonData.context.use_fb_connect ? 'or connect with Facebook ' : '') +
					(Dsq.jsonData.context.use_twitter_signin ? 'or sign in with Twitter ' : '') +
					(Dsq.jsonData.context.use_openid ? 'or sign in using OpenID ' : '') +
					Dsq.Utils.interpolate('to comment on <strong>%(forum_name)s</strong>.</p>')) :
					''
				),
				'<div id="dsq-post-add"></div>',
				'<div style="margin:10px 0">',
				((Dsq.jsonData.forum.use_media) ?
						'<a href="#" id="dsq-media-link" onclick="Dsq.Post.showMenu(this, false, \'media\'); return false">' + Dsq.Strings.USE_MEDIA + ' <small>&#9660;</small></a>' :
						''),
				'</div>'
		]);
		return result.join('');
	};


	this.header = function() {

		var html = '\<h3 id="dsq-comments-count" class="dsq-h3-commentcount">\
	 <span id="dsq-num-posts">73</span> Comments\
	 &nbsp;\
	 <span class="dsq-item-feed">\
	 <a href="http://scobleizer.disqus.com/the_new_a_list/latest.rss"><img src="http://media.disqus.com/images/embed/bullet-feed.png"></a>\
	 </span>\
	 </h3>\
	 <div id="dsq-options" style="margin:15px 0">\
	 <span class="dsq-item-sort">\
	 Sort by\
	 <select id="dsq-sort-select" onchange="Dsq.Thread.sortBy(this.value);">\
	 <option value="hot" selected="selected">Popular now</option>\
	 <option value="best" >Best Rating</option>\
	 <option value="newest" >Newest first</option>\
	 <option value="oldest" >Oldest first</option>\
	 </select>\
	 &nbsp;\
	 </span>\
	 <span class="dsq-item-cp"><a href="http://scobleizer.disqus.com/the_new_a_list/">Community Page</a>&nbsp;&nbsp;&nbsp;</span>\
	 <span class="dsq-item-subscribe">\
	 <img src="http://media.disqus.com/images/embed/email.png" style="width:12px;height:12px;vertical-align:middle">\
	 <span id="dsq-subscribe">\
	 <a href="#" onclick="Dsq.Thread.subscribe(1); return false">Subscribe by email</a>\
	 </span>\
	 </span>\
	 </div>\
	 <div id="dsq-alerts">\
	 <p>Comments for this page are closed.</p>\
	 </div>\
		';

		

		
		if (Dsq.jsonData.request.is_moderator) { 
			html = ' \
			<div class="dsq-alert-message dsq-upgrade-message"> \
				<strong>Disqus upgrade available.</strong> Hi ' + Dsq.jsonData.request.display_username + ', this message is being displayed to you because you are a moderator of this site. <a href="#" onclick="Dsq.$(\'dsq-upgrade-message\').style.display=\'block\';this.style.display=\'none\';return false">Click here for details.</a> \
				<div style="display:none; margin-top:10px;" id="dsq-upgrade-message"> \
					A new theme is available with added features. <a href="http://disqus.com/comments/settings/' + Dsq.jsonData.forum.url + '/?p=customize">To change your theme, click here</a> and choose the theme Narcissus. \
					If you do not upgrade, you are missing out on features such as: real-time commenting, new sign-in integrations, and an upgrade interface. \
					<strong>This message will automatically go away in one week.</strong> \
				</div> \
			</div> \
			' + html; 
		}
		return html;
	};

	this.footer = function() {
		var html = Dsq.Templates.pagination();

		
			html += Dsq.Templates.authPost();
		

		html += Dsq.Templates.reactions();

		
			html += Dsq.Templates.trackbacks();
		

		return html;
	};

	this.pagination = function() {
		var html = '';
		
		if (Dsq.$('dsq-pagination')) { Dsq.$('dsq-pagination').innerHTML = ''; }
		if (!Dsq.jsonData.thread.paginate) { return ''; }

		//
		// TODO: num_paginator still uses the template tag for pagination, 
		// 		while append_paginator does it all in JavaScript.
		//		This should all be in JavaScript.
		//

		if (Dsq.jsonData.thread.num_pages > 1 && Dsq.jsonData.request.page < Dsq.jsonData.thread.num_pages) {
			html = ' \<a class="dsq-paginate-append-text" href="#" onclick="Dsq.Thread.paginate(Dsq.jsonData.request.page + 1, this); return false">Show more comments...</a>\
	 <button type="button" class="dsq-button-small dsq-paginate-append-button" onclick="Dsq.Thread.paginate(Dsq.jsonData.request.page + 1, this);">Load more comments</button>\
			';
		}
		
		if (Dsq.$('dsq-pagination')) {
			Dsq.$('dsq-pagination').innerHTML = html;
			return '';
		} else {
			return '<div id="dsq-pagination" class="dsq-pagination">' + html + '</div>';
		}
	};

	this.trackbacks = function() {
		var html = '';

		if(typeof DsqLocal != 'undefined' && DsqLocal.trackback_url && DsqLocal.trackbacks) {
			var trackbacks = DsqLocal.trackbacks;
			var trackback_url = DsqLocal.trackback_url;
		} else {
			var trackbacks = [
			
			
			];
			var trackback_url = 'http://scobleizer.disqus.com/the_new_a_list/trackback/';
		}

		html += '<div class="dsq-item-trackback">Trackback URL&nbsp;&nbsp;<input class="dsq-trackback-url" onclick="this.select()" readonly="true" value="' + trackback_url + '"></div>';

		if(trackbacks.length) {
			html += '<ul id="dsq-references">'
			for(var i = 0; i < trackbacks.length; i++) {
				var trackback = trackbacks[i];
				html += '<li><cite><a href="' + trackback.author_url + '" rel="nofollow">' + trackback.author_name + '</a></cite> \
						<p class="dsq-meta">' + trackback.date + '</p> \
						<p class="dsq-content">' + trackback.excerpt + '</p></li>';
			}
			html += '</ul>';
			html = '<h3 class="dsq-h3-trackbacks">Trackbacks</h3>' + html;
		}

		return html;
	}

	this.showRetweets = function(id, limit, element_id /* Optional */) {
		var source, html = '';

		for (var i = 0, reaction; reaction = Dsq.jsonData.reactions[i]; i++) {
			if (reaction.id === id) {
				source = reaction.retweets;
			}
		}

		if (source) {
			if (limit === 0) {
				limit = source.length;
			}

			for (var j = 0; j < limit; j++) {
				var rt = source[j];
				html += '<a href="' + rt.url + '">' + rt.author_name + '</a>'	+ ((j === (limit - 1)) ? '.' : ', ');
			}
		}

		if (element_id === undefined) {
			return html;
		}

		var element = document.getElementById(element_id);
		element.innerHTML = html;
		return element;
	};

	this.showMoreReactions = function(reactions, has_more, start, limit) {
		var link = document.getElementById('dsq-show-more-reactions');
		var container = link.parentNode;
		container.removeChild(link);

		for (var i = 0, reaction; reaction = reactions[i]; i++) {
			var el = Dsq.Templates.generateReactionHTML(reaction);
			if (el) {
				container.innerHTML += el;
			}
		}

		if (has_more) {
			var d = Dsq.jsonData.settings.disqus_url;
			var f = Dsq.jsonData.forum.url;
			var t = Dsq.jsonData.thread.id;
			var s = start;
			var l = limit;

			var handler = 'Dsq.Utils.execScript(\'' + d + '/forums/' + f + '/more_reactions.js?t=' + t + '&s=' + s + '&l=' + l + '\', true); return false;';
			container.innerHTML += '<li id="dsq-show-more-reactions"><a href="#" onclick="' + handler + '">Show more reactions</a></li>';
		}
	};

	this.generateReactionHTML = function(reaction) {
		if (reaction.body === null || reaction.body == '') {
			return;
		}

		if (reaction.author_name === '') {
			reaction.author_name = '&nbsp;';
		}

		if (reaction.url === '') {
			reaction.url = reaction.get_service_url;
		}

		/* Reaction HTML begins */
		var item = '<li class="dsq-reaction" id="dsq-reaction-' + reaction.id + '">'
			+ '<div class="dsq-reaction-header">'
			+ '<div class="dsq-header-avatar">';

		if (reaction.author_url && reaction.author_url !== '') {
			item += '<a target="_blank" href="' + reaction.author_url +'">';
		} else {
			item += '<a target="_blank" href="#" onclick="return false;">';
		}

		if (reaction.avatar_url && reaction.avatar_url !== '') {
			item += '<img src="' + reaction.avatar_url + '"/>';
		} else {
			item += '<img src="' + Dsq.jsonData.media_url + '/images/noavatar32.png"/>';
		}

		var service_icon = (reaction.get_service_name == 'trackback' || reaction.get_service_name == 'pingback' ? 'rss' : reaction.get_service_name.replace(' ', ''));
		item += '<img class="dsq-service-icon" src="' + Dsq.jsonData.media_url + '/images/reactions/services/' + service_icon + '.png"/>'
			+ '</a></div>'
			+ '<cite><span>' + reaction.author_name + '</span></cite>'
			+ '<span class="dsq-header-meta"><a class="dsq-header-time">' + reaction.date_created + '</a></span>'
			+ '</div><div class="dsq-reaction-body">'
			+ '<div class="dsq-reaction-message">' + reaction.body + '</div>'
			+ '<div class="dsq-reaction-footer">From <a class="dsq-service-name" target="_blank" href="' + reaction.url + '">' + reaction.get_service_name + '</a> '
			+ 'via <a href="' + reaction.source_url + '">' + (reaction.source == 'backtype' ? 'BackType' : 'UberVU') + '</a>'
			+ (Dsq.jsonData.request.is_moderator || Dsq.jsonData.request.is_global_moderator ? '&nbsp;&bull;&nbsp;<a class="dsq-hide-reaction" href="#" onclick="Dsq.Reaction.hide(' + reaction.id + '); return false;">Hide</a>' : '') + '</div></div>';

		if(reaction.retweets) {
			var num_retweets = reaction.retweets.length;
			if (num_retweets > 0) {
				item += '<div class="dsq-reaction-retweets">';
				if (num_retweets == 1) {
					item += 'One more retweet from <a href="' + reaction.retweets[0].url + '">'  + reaction.retweets[0].author_name + '</a>';
				} else {
					item += (num_retweets + ' more retweets from ');

					item += '<span id="dsq-reaction-retweets-' + reaction.id + '">';
					var n_tweets = (num_retweets > 15) ? 15 : num_retweets;
					item += Dsq.Templates.showRetweets(reaction.id, n_tweets);

					if (n_tweets != num_retweets) {
						item += '</span> <a onclick="Dsq.Templates.showRetweets(' + reaction.id + ', 0, \'dsq-reaction-retweets-' + reaction.id + '\');'
							+ 'this.parentNode.removeChild(this); return false;" href="#">Show all</a>';
					}
				}
				item += '</div>';
			}
		}

		item += '</li>'; /* Reaction HTML ends */
		return item;
	};

	this.reactions = function() {
		var html, reaction;

		if (Dsq.jsonData.reactions === undefined || Dsq.jsonData.reactions.length === 0) {
			return '';
		}

		html = '';
		for (var i = 0; reaction = Dsq.jsonData.reactions[i]; i++) {
			var item = Dsq.Templates.generateReactionHTML(reaction);
			if (item) {
				html += item;
			}
		}

		if (Dsq.jsonData.has_more_reactions) {
			var d = Dsq.jsonData.settings.disqus_url;
			var f = Dsq.jsonData.forum.url;
			var t = Dsq.jsonData.thread.id;
			var s = Dsq.jsonData.reactions_start;
			var l = Dsq.jsonData.reactions_limit;

			var handler = 'Dsq.Utils.execScript(\'' + d + '/forums/' + f + '/more_reactions.js?t=' + t + '&s=' + s + '&l=' + l + '\', true); return false;';
			html += '<li id="dsq-show-more-reactions"><a href="#" onclick="' + handler + '">Show more reactions</a></li>';
		}

		return '<h3 class="dsq-h3-reactions">Reactions</h3><ul id="dsq-reactions" class="dsq-reactions">' + html + '</ul>';
	};
	
	this.missingPermissions = function() {
		return '	<p>Comments for this page are closed.</p>\n';
	};

	//
	// Post
	//

	this.prependPost = function(post_id) {
		var html = '<div id="comment-' + post_id + '"></div>';
		return html;
	};

	this.appendPost = function(post_id) {
		var html = '<div id="dsq-comment-reply-' + post_id + '"></div>';
		return html;
	};

	this.postPrependHeader = function(post_id) {
		var _meta = Dsq.jsonData.posts[post_id];
		var userData = Dsq.jsonData['users'][_meta.user_key];

		var _includeServices = function() {
			var userServices = Dsq.Post.getUserServices(null, post_id);
			var html = '';
			var hiddenThreshold = 3; // Define # of services to show before stuffing them in hidden div

			for(var i = 0; i < userServices.length; i++) {
				html +=
				(i == hiddenThreshold
					? '<li id="dsq-drop-hidden-' + post_id +'" class="dsq-drop-hidden"><ul>'
					: '')
				+ '<li class="dsq-drop-services"> \
					<a class="dsq-service-' + userServices[i].name.toLowerCase() + '" href="' + userServices[i].url + '" target="_blank"> \
						<img src="' + Dsq.jsonData.media_url + '/images/embed/services/' + userServices[i].name.toLowerCase() + '.png" alt="' + userServices[i].name.toLowerCase() + '">'
					+ userServices[i].name
					+ '</a> \
				</li>';
			}

			if(i >= hiddenThreshold) {
				html += '</ul></li> \
				<li id="dsq-drop-more-' + post_id + '" class="dsq-drop-more"><a href="#" onclick="Dsq.Post.dropProfileMore(this, '+ post_id + '); return false"><small>&#9660;</small></a></li> \
				';
			}
			return html;
		};

		return ' \
			<div class="dsq-header-avatar" id="dsq-header-avatar-' + post_id + '" onmouseover="Dsq.Post.dropProfile(' + post_id + ')"> \
				<a id="dsq-avatar-' + post_id + '" class="dsq-avatar" href="' + userData.url + '" onclick="Dsq.Popup.popProfile(' + post_id + '); return false;">'
			+ (Dsq.jsonData.forum.show_avatar
				? '<img src="' + Dsq.jsonData.users[_meta.user_key].avatar + '" alt="" />'
				: '')
			+ '</a>'
			+ '</div> \
		';
	};

	this.postAppendHeader = function(post_id) {
		var _meta = Dsq.jsonData.posts[post_id];

		return ''
			+ (_meta.author_is_moderator
				? '<img class="dsq-mod-star" src="http://media.disqus.com/images/bullet-star.png" title="Moderator" alt="" />'
				: '')
			+ '<span class="dsq-header-meta"> \
				<a id="dsq-time-' + post_id + '" class="dsq-header-time" href="#comment-' + post_id + '" title="Permalink">' + _meta.date + '</a> \
			</span>';
	};

	this.preBody = function(post_id) {
		return '';
	}

	this.postBody = function(post_id) {
		// TODO: Deprecate flagging conditional
		var _meta = Dsq.jsonData.posts[post_id];
		return ''
			+ (_meta.edited
				? '<p class="dsq-editedtxt">(Edited by a moderator)</p>'
				: '')
			;
	};

	this.postFooter = function(post_id) {
		// TODO: Use media should be conditional
		var _meta = Dsq.jsonData.posts[post_id];
		if(_meta.killed) { return ''; }

		return ' \
			<div class="dsq-comment-footer" id="dsq-comment-footer-' + post_id + '"> \
				<div id="dsq-points-' + post_id + '" class="dsq-likedtxt">'
				+ (_meta.points
					? _meta.points + Dsq.Utils.pluralize(_meta.points, ' person', ' people') + ' liked this comment.'
					: '')
				+ '</div>'
				+ '<ul class="dsq-comment-options dsq-list-style">'
				+ (_meta.votable
					? '<li class="dsq-list-first dsq-rate" id="dsq-rate-cont-' + post_id + '">'
					+ (!_meta.up_voted
						? '<a href="#" onclick="Dsq.Post.rate(this, ' + post_id + ', 1); return false;">Like</a>'
						: 'You liked this.') + '</li>'
					: '')
				+ '<li class="dsq-report' + (!_meta.votable ? ' dsq-list-first' : '') + '" id="dsq-post-report-' + post_id + '"><a href="#" class="dsq-post-report" onclick="Dsq.Post.report(' + post_id + ', false); return false;">Report</a></li> \
				</ul> \
				<ul class="dsq-list-style">'
				+ (_meta.can_reply
					? '<li class="dsq-list-first"><a href="#" id="dsq-reply-link-' + post_id +'" onclick="Dsq.Post.toggleReply(this, ' + post_id +'); return false;">Reply</a></li>'
					: '')
				+ (_meta.can_reply && !_meta.has_replies && _meta.from_request_user
					? '<li id="dsq-edit-el-' + post_id + '"><a id="dsq-edit-link-' + post_id + '" href="#" onclick="Dsq.Post.edit(this, ' + post_id + '); return false;">Edit</a></li>'
					: '')
				+ '<li class="' + (!_meta.can_reply ? 'dsq-list-first' : '') + '" id="dsq-more-el-' + post_id + '"><a id="dsq-more-link-' + post_id + '" href="#" onclick="Dsq.Post.showMenu(this, ' + post_id + ', \'more\'); return false">More <small>&#9660;</small></a></li>'
				+ (Dsq.jsonData.forum.use_media
					? '<li id="dsq-media-el-' + post_id +'" style="display:none"><a id="dsq-media-link-' + post_id + '" href="#" onclick="Dsq.Post.showMenu(this, ' + post_id + ', \'media\'); return false">Use Media <small>&#9660;</small></a></li>'
					: '')
				+ '</ul>'
				+ '<div id="dsq-reply-bar-' + post_id + '" class="dsq-reply-bar" style="display:none"> \
						<div id="dsq-reply-bar-items-' + post_id + '" class="dsq-reply-bar-items"> \
						</div> \
						<div id="dsq-reply-bar-auth-' + post_id + '" class="dsq-reply-bar-auth"> \
							 \
								 \
								 	<a href="#" class="dsq-help dsq-reply-req-opt" title="You are commenting as a Guest. You may choose to log into an existing DISQUS Profile, your Facebook, Twitter or OpenID account to comment on Scobleizer" onclick="Dsq.Popup.helpBadges(); return false">Optional:</a> \
								 \
								<img class="dsq-login-icon" src="http://media.disqus.com/images/dsq-favicon-16x16.png" alt="" /> \
								<a id="dsq-reply-login-' + post_id + '" href="http://disqus.com/profile/login/?next=article:18369420" onclick="Dsq.Popup.login(); return false">Login</a> \
								 \
									&nbsp;or&nbsp; \
									<img class="fb_login_image" src="http://static.ak.fbcdn.net/images/fbconnect/login-buttons/connect_light_small_short.gif" alt="Facebook Connect"/> \
									<a href="#" onclick="FB.Connect.requireSession(DisqusFbcParentController.onLogin); return false;">Connect</a> \
								 \
								&nbsp;or&nbsp; \
									<img src="http://media.disqus.com/images/twitter-signin-icon.png" alt="" /> \
									<a href="#" onclick="Dsq.Twitter.startTwitterConnect(); return false">Sign-in</a> \
								 \
								 \
							 \
						</div> \
					</div> \
					<div id="dsq-reply-' + post_id + '"></div> \
			</div> \
		';
	};

	//
	// Iframes
	//

	this._makeAttributes = function(attributes) {
		// Makes a tag attributes string out of an object.
		// Caller is responsible for making sure nothing needs to be escaped.
		var result = [];
		for (key in attributes) {
			result.push(' ' + key + '="' + attributes[key] + '"');
		}
		result = result.join('');
		return result;
	};

	this._frameGeneric = function(base_url, params, attributes) {
		if(typeof(disqus_callback_params) == 'undefined') {
			disqus_callback_params = '';
		}

		var default_params = {
			// TODO: These should be moved to Dsq.jsonData.
			'f'				: 'scobleizer',
			't'				: 'the_new_a_list',
			// Do we need encodeURIComponent here?
			'ifrs'			: encodeURIComponent(disqus_iframe_css),
			'to_redirect'	: encodeURIComponent(window.location),
			'cbp'			: disqus_callback_params,
			'ff'			: Dsq.Thread.ff,
			'fc'			: Dsq.Thread.fc,
			'ac'			: Dsq.Thread.ac,
			'default_text'	: disqus_default_text
		};

		base_url += '?' + (new Date()).getTime();
		// Add params to default_params.
		if(params) {
			for(var key in params) {
				if(params.hasOwnProperty(key)) {
					default_params[key] = encodeURIComponent(params[key]);
				}
			}
		}
		// Build querystring.
		for(var key in default_params) {
			if(default_params[key] && default_params.hasOwnProperty(key)) {
				base_url += '&' + key + '=' + default_params[key];
			}
		}

		return [
			'<iframe marginwidth="0" marginheight="0" hspace="0" vspace="0" frameborder="0"',
			(' allowtransparency="true" src="' + base_url + '"'),
			this._makeAttributes(attributes),
			'</iframe>'].join('');
	};

	this.frameLogin = function(opt_attributes) {
		var params = {};
		var base_url = 'http://disqus.com/embed/login.html';
		var attributes = opt_attributes || {};
		attributes['class'] = 'dsq-post-login';

		if(typeof disqus_frame_theme != 'undefined') {
			params['theme'] = disqus_frame_theme;
		}
		return this._frameGeneric(base_url, params, attributes);
	};

	this.frameReply = function(post_id, extra_params, attributes) {
		// Returns the HTML for a reply iframe. Called by Dsq.Iframes.setReplyIframeToContainer
		var _meta = (typeof post_id != 'undefined') ? Dsq.jsonData.posts[post_id] : false;
		var base_url = Dsq.Urls.REPLY;
		var params = {
			'def_email'		: disqus_def_email,
			'def_name'		: disqus_def_name
		};
		if(extra_params) {
			for(var key in extra_params) {
				if(extra_params.hasOwnProperty(key)) {
					params[key] = extra_params[key];
				}
			}
		}
		if(_meta) {
			params['parent_post'] = post_id;
		}
		if(typeof disqus_per_page != 'undefined') {
			params['per_page'] = disqus_per_page;
		}
		if(typeof disqus_frame_theme != 'undefined') {
			params['theme'] = disqus_frame_theme;
		}
		if(Dsq.jsonData.request.is_authenticated) {
			attributes['class'] += '-authenticated';
		}
		return this._frameGeneric(base_url, params, attributes);
	};

	this.frameEdit = function(post_id) {
		var _meta = (typeof post_id != 'undefined') ? Dsq.jsonData.posts[post_id] : false;
		var base_url = 'http://disqus.com/embed/edit.html';
		var params = {
			'p' : post_id
		};
		return this._frameGeneric(base_url, params, {'class': 'dsq-post-edit', 'name': 'dsq-edit_' + post_id + '-frame'});
	};

	//
	// Menus
	//

	this.menuMore = function(post_id) {
		// TODO: "Remove post" button should hide menu.
		var _meta = Dsq.jsonData.posts[post_id];
		var userData = Dsq.jsonData['users'][_meta.user_key];
		return ' \
			<li><a href="#comment-' + post_id + '" onclick="Dsq.Popup.permalink(' + post_id + ')">Link</a></li> \
			<li><a href="#" onclick="Dsq.Popup.popProfile(' + post_id + '); return false;">Profile</a></li>'
	+ (Dsq.jsonData.request.is_moderator || Dsq.jsonData.request.is_global_moderator
		? '	<li class="dsq-menu-sep"></li>' + (_meta.email ? '<li class="dsq-admin-email">' + _meta.email + '</li>' : '')
		+ '	<li class="dsq-admin-ip">' + _meta.ip + '</li> \
			<li class="dsq-menu-sep"></li>'
		+ (Dsq.jsonData.request.moderator_can_edit
			? ' <li class="dsq-admin-edit"><a href="#" onclick="Dsq.Post.edit(this, ' + post_id + '); return false;">Edit Comment</a></li>'
			: '')
		+ ' <li class="dsq-remove"><a href="#" onclick="Dsq.Post.removePost(' + post_id + ', 1); return false;">Remove Comment</a></li> \
			<li class="dsq-report-spam"><a href="#" onclick="Dsq.Post.reportSpam(' + post_id + '); return false;">Mark Spam</a></li> \
			<li class="dsq-block-user"><a href="#" onclick="Dsq.Popup.blacklist(' + post_id + '); return false">Block User</a></li>'
		: '');
	};

	this.menuMedia = function(post_id) {
		return ' \
			<li><a href="#" onclick="Dsq.Post.toggleMediaReply(this, ' + post_id + ', \'seesmic\'); return false;">Record video</a></li> \
		';
	};

	this.dropProfile = function(post_id) {
		var _meta = Dsq.jsonData.posts[post_id];
		var userData = Dsq.jsonData['users'][_meta.user_key];

		var _includeServices = function() {
			var userServices = Dsq.Post.getUserServices(null, post_id);
			var html = '';
			var hiddenThreshold = 3; // Define # of services to show before stuffing them in hidden div

			for(var i = 0; i < userServices.length; i++) {
				html +=
				(i == hiddenThreshold
					? '<li id="dsq-drop-hidden-' + post_id +'" class="dsq-drop-hidden"><ul>'
					: '')
				+ '<li class="dsq-drop-services"> \
					<a class="dsq-service-' + userServices[i].name.toLowerCase() + '" href="' + userServices[i].url + '" target="_blank"> \
						<img src="' + Dsq.jsonData.media_url + '/images/embed/services/' + userServices[i].name.toLowerCase() + '.png" alt="' + userServices[i].name.toLowerCase() + '">'
					+ userServices[i].name
					+ '</a> \
				</li>';
			}

			if(i >= hiddenThreshold) {
				html += '</ul></li> \
				<li id="dsq-drop-more-' + post_id + '" class="dsq-drop-more"><a href="#" onclick="Dsq.Post.dropProfileMore(this, '+ post_id + '); return false"><small>&#9660;</small></a></li> \
				';
			}
			return html;
		};


		var menu = '<li class="dsq-drop-showlnk"><a href="#" onclick="Dsq.Popup.popProfile(' + post_id + '); return false;">Expand &#8663;</a></li>';
		var pointsMessage = '';
		if (userData['registered']) {
			pointsMessage = 'with ' + userData['points'] + ' points (more points are better).';
		}

		if (userData['is_remote']) {
			var domain = userData['remote_domain_name'];
			menu += '<li class="dsq-drop-badge" title="' + userData['display_name'] + ' is a ' + domain + ' user ' + pointsMessage + '" onclick="Dsq.Popup.helpBadges()">';
			menu += '<span class="dsq-badge-' + domain.toLowerCase() + '">' + domain + '</span></li>';
		} else if (userData['registered']) {
			if (userData['verified']) {
				menu += '<li class="dsq-drop-badge" title="' + userData['display_name'] + ' has a verified commenter profile ' + pointsMessage + '" onclick="Dsq.Popup.helpBadges()">';
				menu += '<span class="dsq-badge-verified">Verified</span></li>';
			} else {
				menu += '<li class="dsq-drop-badge" title="' + userData['display_name'] + ' has a registered, but unverified, commenter profile ' + pointsMessage + '" onclick="Dsq.Popup.helpBadges()">';
				menu += '<span class="dsq-badge-registered">Registered</span></li>';
			}
		} else {
			menu += '<li class="dsq-drop-badge" title="' + userData['display_name'] + ' has not claimed this commenter profile." onclick="Dsq.Popup.helpBadges()"><span class="dsq-badge-guest">Guest</span></li>';
		}

		menu += _includeServices();
		return menu;
	};

	//
	// Popups
	//

	this._popupGeneric = function(content) {
		return ' \
		<div class="dsq-popup-content"> \
			<div class="dsq-popup-top"></div> \
			<div class="dsq-popup-body" class="clearfix"> \
				<div class="dsq-popup-body-padding"> \
					<div class="dsq-popup-header"> \
						<a class="dsq-close-link" href="#" onclick="Dsq.Popup._closePopup(null, true); return false"><img src="http://media.disqus.com/images/modal-close.png" alt="" /></a>'
						+ content['header']
					+ '</div>'
					+ content['body']
					+ '<div class="powered-by"><a href="http://disqus.com/comments/">Powered by <img src="http://media.disqus.com/images/embed/disqus-logo.png" alt="Disqus Comments" style="margin-bottom:-5px" /></a></div> \
				</div> <!-- padding --> \
			</div> <!-- body --> \
			<div class="dsq-popup-bottom"></div> \
		</div> \
		';
	};

	this.popupProfile = function(user_key) {
		var userServices = Dsq.Post.getUserServices(user_key, null);
		var userData = Dsq.jsonData['users'][user_key];
		var headerHtml = '';
		var bodyHtml = '';
		var content = {};

		var _includeServices = function() {
			var html = '';
			for(var i = 0; i < userServices.length; i++) {
				html +=
				(i == 0
					? '<h4>Connections</h4><ul>'
					: '')
				+ '<li> \
					<img src="' + Dsq.jsonData.media_url + '/images/embed/services/' + userServices[i].name.toLowerCase() + '.png" alt="' + userServices[i].name.toLowerCase() + '" title="' + userServices[i].name.toLowerCase() + '" /> \
					<a class="dsq-service-' + userServices[i].name.toLowerCase() + '" href="' + userServices[i].url + '" target="_blank">'
					+ userServices[i].name
					+ '</a> \
				</li>'
				+ (i+1 == userServices.length ? '</ul>' : '');
			}
			return html;
		};

		headerHtml = ' \
			<table> \
				<tr> \
					<td> \
						<a class="dsq-profile-userurl" href="' + userData.url + '"><img class="dsq-popup-profile-avatar" src="' + userData['avatar'] + '" alt="" /></a> \
					</td> \
					<td> \
						<div class="dsq-popup-profile-user"> \
							<h3>' + userData['display_name'] + '</h3> \
							<div class="dsq-popup-profile-user-stats" id="dsq-popup-profile-user-stats-' + user_key + '">Loading...</div> \
						</div> \
					</td> \
				</tr> \
			</table> \
		';

		bodyHtml = ' \
			<div class="dsq-popup-profile-state"> \
				This is a&nbsp;<span class="'
					+ (userData['registered']
						? (userData['verified']
							? ' dsq-badge-verified'
							: (userData['is_remote']
								? ' dsq-badge-' + userData['remote_domain_name'].toLowerCase()
								: ' dsq-badge-registered')
							)
							: ' dsq-badge-guest') + '">'
			+ (userData['registered']
				? (userData['verified']
					? 'Verified'
					: (userData['is_remote']
						 ? userData['remote_domain_name']
						 : 'Registered')
					)
				: 'Guest')
			+ '</span>&nbsp;commenter profile.'
			+ '&nbsp;<a class="dsq-profile-userurl" href="' + userData.url + '"><strong>View more comments </strong></a>'
			+ (!userData['points']
				? '<p class="dsq-popup-notice">If this is you, <a href="http://disqus.com/profile" target="_blank">claim it now</a> to manage your comments.</p>'
				: '')
			+ ((userData['registered'] && !userData['verified'] && (Dsq.jsonData.request.username && (Dsq.jsonData.request.username == userData['username'])) && !userData['is_remote'])
				? '<p class="dsq-popup-notice"><strong>Alert</strong>: You have not verified this account. <a href="http://disqus.com/verify">Verify it now.</a></p>'
				: '')
			+ '</div> \
			<div id="dsq-profile-status-' + user_key + '" class="dsq-popup-profile-status" style="display:none"></div> \
			<div class="dsq-popup-profile-snapshot"> \
				<table> \
					<tr> \
						<td> \
							<div id="dsq-popup-profile-active-sites-wrapper-' + user_key + '"> \
								<h4>Most active sites</h4> \
								<ul id="dsq-popup-profile-active-sites-' + user_key + '"> \
									<li>Loading...</li> \
								</ul> \
							</div> \
						</td> \
						<td>'
							+ _includeServices()
							+ '<div id="dsq-popup-profile-moderated-wrapper-' + user_key + '"> \
								<h4>Moderator of</h4> \
								<ul id="dsq-popup-profile-moderated-' + user_key + '"> \
									<li>Loading...</li> \
								</ul> \
							</div> \
						</td> \
					</tr> \
				</table> \
			</div> \
			';

		content = {
			'header': headerHtml,
			'body': bodyHtml
		};

		return this._popupGeneric(content);
	};

	this.popupReblog = function() {
		var headerHtml = '';
		var bodyHtml = '';
		var content = {};

		headerHtml = ' \
			<cite><span>Reblog this comment</span></cite> \
		';

		bodyHtml = ' \
			<div id="dsq-reblog-form" class="dsq-reblog-form"> \
			</div> \
		';

		content = {
			'header': headerHtml,
			'body': bodyHtml
		};

		return this._popupGeneric(content);
	};

	this.popupModal = function(title, message) {
		var headerHtml = '';
		var bodyHtml = '';
		var content = {};

		headerHtml = ' \
			<h3>' + title + '</h3> \
		';

		bodyHtml = message;

		content = {
			'header': headerHtml,
			'body': bodyHtml
		};

		return this._popupGeneric(content);
	};

	this.alertContent = function(name, post_id) {
		var alert = {
			'post_not_approved': {
				'title': 'Comment awaiting approval by a moderator',
				'message': 'Thanks for posting. Your comment must be approved by a moderator before appearing here.'
			},
			'post_has_profile': {
				'title': 'Use your existing commenter profile',
				'message': 'You have just posted your commment as a <span class="dsq-badge dsq-badge-guest">Guest</span>, but you may already have a <span class="dsq-badge dsq-badge-registered">Registered</span> commenter profile.<br /><br /><a href="http://disqus.com/claim">Log in and claim this comment!</a>'
			}
		};
		return alert[name] || false;
	};

	//
	// Actions
	//

	this.voted = function(post_id, points, vote) {
		// Update number of points
		Dsq.$('dsq-points-' + post_id).innerHTML = points + Dsq.Utils.pluralize(points, ' person', ' people') + ' liked this comment.';

		// Update link text
		if(vote) {
			Dsq.$('dsq-rate-cont-' + post_id).innerHTML = 'You liked this.';
		}
	};

	this.subscribed = function(status) {
		var title, message;

		if(status) {
			title = 'Subscribed!';
			message = 'You have subscribed to this comment thread. New comments will be sent directly to your email inbox, where you may read and respond by email.';
			Dsq.$('dsq-subscribe').innerHTML = ' \
				<a href="#" onclick="Dsq.Thread.subscribe(0); return false">Unsubscribe</a> \
			';
		} else {
			title = 'Unsubscribed';
			message = 'You have unsubscribed to this comment thread. New comments will no longer be sent to your email inbox.';
			Dsq.$('dsq-subscribe').innerHTML = ' \
				<a href="#" onclick="Dsq.Thread.subscribe(1); return false">Subscribe by email</a> \
			';
		}

		Dsq.Popup.popModal(message, title);

	};
	
	this.highlighted = function() {
		Dsq.Popup.popModal('This comment has been highlighted.', 'Highlighted comment');
	};

	//
	// Media
	//

	this.mediaSeesmic = function(id, thumb) {
		return ' \
			<div id="dsq-seesmic-' + id + '_preview" class="dsq-seesmic-preview"><a href="http://www.seesmic.com/video/' + id + '" target="_blank" class="see_link">&nbsp;</a> \
				<div style="display:block;width:160px; height:120px; border:none; background-image:url(http://t.seesmic.com/thumbnail/' + thumb + ')"> \
					<div id="dsq-seesmic-' + id + '_hide" class="seePlayOverlay" style="display:none;"><img onclick="see_play_video(\'' + id + '\',false)" src="http://media.disqus.com/images/seesmic/stopOverlay.png" width="50" height="50" style="cursor:pointer; cursor:hand; padding-top: 30px; padding-left: 50px" alt="" /></div> \
					<div id="dsq-seesmic-' + id + '_show" class="seePlayOverlay"><img onclick="see_play_video(\'' + id + '\',true)" src="http://media.disqus.com/images/seesmic/playOverlay.png" width="50" height="50" style="cursor:pointer; cursor:hand; border:none; padding-top: 30px; padding-left: 50px" alt="" /></div> \
				</div> \
			</div> \
			<div id="' + id + '_content" style="display:block; width:100%; padding-top:5px"></div> \
		';
	};

	//
	// Callbacks
	//

	this.postComment_onSuccess = function(parent_post_id) {
		// Increment post count
		var num_posts = Dsq.$('dsq-num-posts');
		var total_posts = Dsq.$('dsq-total-posts');
		
		if (num_posts) { 
			num_posts.innerHTML = parseInt(num_posts.innerHTML) + 1;
		}
		if (total_posts) { 
			total_posts.innerHTML = parseInt(total_posts.innerHTML) + 1;
		}
	};
};
// Dsq.Templates


/**
 * Dsq.Post
 */
Dsq.Post = new function() {
	this.openedMenu = {};
	this.menuEventListener = null;
	this.stateReplyToggled = {};
	this.stateEditToggled = {};
	this.stateRecordLink = {};

	/**
	 * Inserts a new post into the document.
	 *
	 * @param after_id {Number}	Insert a post before specified id.  If after_id
	 *							evaluates to false, then post in the front.  If
	 *							after_id is -1, post at the end.
	 */
	this.insert = function(after_id, id, message, author) {
		// Skeleton template from thread_posts.html.
		var skeleton = ' \
			<li id="dsq-comment-%(id)s"> \
				<div id="dsq-comment-header-%(id)s" class="dsq-comment-header"> \
					<cite id="dsq-cite-%(id)s" class="dsq-comment-cite"> \
						<a id="dsq-author-user-%(id)s" href="%(author_url)s" target="_blank" rel="nofollow">%(author_name)s</a> \
					</cite> \
				</div> \
				<div id="dsq-comment-body-%(id)s" class="dsq-comment-body"> \
					<div id="dsq-comment-message-%(id)s" class="dsq-comment-message">%(message)s</div> \
				</div> \
			</li> \
		';
		var _meta = Dsq.jsonData.posts[id];
		var _user_meta = Dsq.jsonData.users[_meta.user_key];
		var markup = Dsq.Utils.interpolate(skeleton, {
			id: id,
			message: message,
			author_url: _user_meta.blog,
			author_name: _user_meta.display_name
		});
		var div = document.createElement('div');
		markup = markup.replace(Dsq.COMMENTS_RE, Dsq.CommentsHandler);
		div.innerHTML = markup;

		if (after_id === -1) {
			Dsq.$('dsq-comments').appendChild(div);
		} else if (!after_id) {
			Dsq.$('dsq-comments').insertBefore(div, Dsq.$('dsq-comments').firstChild);
		} else if (Dsq.$('dsq-comment-' + after_id)) {
			// Get next node after "after_id", so we can insert before it.
			// If "after_id" is the last comment, the target node is the
			// last node.
			
			// var append_post_id = Dsq.Templates.appendPost(after_id).replace('<div id="','').replace('"></div>', '');
			var append_post_id = 'dsq-append-post-' + after_id;
			var node = Dsq.$(append_post_id);
			while (node = node.nextSibling) {
				if (!node || node.nodeType == 1) { // 1 == Node.ELEMENT_NODE
					break;
				}
			}
			if (!node) {
				node = Dsq.$(append_post_id);
			}
			node.parentNode.insertBefore(div, node);
		}
	};

	this.incrementPostCount = function() {
		
		var num_posts = Dsq.$('dsq-num-posts');
		var total_posts = Dsq.$('dsq-total-posts');

		if (num_posts) {
			num_posts.innerHTML = parseInt(num_posts.innerHTML, 10) + 1;
		}
		if (total_posts) {
			total_posts.innerHTML = parseInt(total_posts.innerHTML, 10) + 1;
		}
	}
	
	this.outlineComment = function(post_id) {
		Dsq.$('dsq-comment-' + post_id).className += ' dsq-comment-outline';
		setTimeout("(function () { Dsq.Post.clearOutlineComment(" + post_id + ") })()", 3000);
	};
	
	this.clearOutlineComment = function(post_id) {
		Dsq.$('dsq-comment-' + post_id).className = Dsq.$('dsq-comment-' + post_id).className.replace('dsq-comment-outline', '');
	};

	this.showMenu = function(el, id, name) {
		var anchorPos = Dsq.Utils.findPos(el);
		var menu = document.createElement('ul');

		if(this.openedMenu) {
			if(this.openedMenu.linkClicked) {
				this.openedMenu.linkClicked = false;
				return;
			}
		}

		switch(name) {
			case 'more':
				menu.innerHTML = Dsq.Templates.menuMore(id);
				break;
			case 'media':
				menu.innerHTML = Dsq.Templates.menuMedia(id);
				break;
			default:
				break;
		}

		// Add menu to document body
		menu.id = 'dsq-menu-' + id;
		menu.className = 'dsq-menu';
		Dsq.$b.appendChild(menu);

		// Position and show
		anchorPos[1] += 15;
		menu.style.left = anchorPos[0] + 'px';
		menu.style.top = anchorPos[1] + 'px';
		menu.style.display = 'block';

		// Set global reference
		this.openedMenu = {
			'el' : menu,
			'id' : id,
			'name' : name,
			'linkClicked' : false
		};

		// Set listener
		this.menuEventListener = Dsq.Utils.addEventListener(document, 'mouseup', this._hideMenu);
	};

	this._hideMenu = function(e) {
		var el = e.target || e.srcElement;
		var openedMenu = Dsq.Post.openedMenu.el;
		var id = Dsq.Post.openedMenu.id;

		if(!id) {
			var link = 'dsq-' + Dsq.Post.openedMenu.name + '-link';
		} else {
			var link = 'dsq-' + Dsq.Post.openedMenu.name + '-link-' + id;
		}

		if(!openedMenu) {
			return;
		}

		if(!Dsq.Popup.isClicked(e, openedMenu.id)) {
			openedMenu.style.display = 'none';
			Dsq.Utils.removeEventListener(Dsq.Post.menuEventListener);
			Dsq.Utils.deleteNode(openedMenu);

		} else {
			// Hide the menu if a link was clicked inside the menu.  We can't
			// completely remove the menu until the onclick event on the link
			// fires, but the menuEventListener will prevent multiple menus
			// from polluting the DOM.
			if(el && typeof el.href != 'undefined') {
				openedMenu.style.display = 'none';
				Dsq.Post.openedMenu.el = null;
			}
		}

		if(Dsq.Popup.isClicked(e, link)) {
 			Dsq.Post.openedMenu.linkClicked = true;
		}
	};


	this.getUserServices = function(user_key, id) {
		if(!user_key && id) {
			var _meta = Dsq.jsonData.posts[id];
			user_key = _meta.user_key;
		}
		var userData = Dsq.jsonData['users'][user_key];
		var userServices = [];

		// Keep a full list of supported services. This is the order they will display in the drop-profile.
		// Each service must have a corresponding case in _buildServiceUrl()
		var supportedServices = ['blog', 'twitter', 'facebook', 'tumblr'];

		function _buildServiceUrl(serviceName) {
			var data = userData[serviceName];
			var services = {
				blog:		function(d) { return d; },
				twitter:	function(d) { return d; },
				facebook:	function(d) { return d; },
				tumblr:		function(d) { return 'http://' + d + '.tumblr.com'; }
			};
			return services[serviceName](data);
		}

		for(var i = 0; i < supportedServices.length; i++) {
			if(userData[supportedServices[i]]) {
				var serviceUrl = _buildServiceUrl(supportedServices[i]);
				userServices.push({'name' : supportedServices[i], 'url' : serviceUrl});
			}
		}
		return userServices;
	}

	this.dropProfile = function(id) {
		var dp = Dsq.$('dsq-drop-profile-' + id);

		// IE6 needs JS to display/hide. All other browsers use CSS.
		if(dp) {
			if(Dsq.Utils.ie6) dp.style.display = (dp.style.display == 'inline') ? 'none' : 'inline';
			return false;
		} else {
			dp = document.createElement('ul');
		}

		dp.id = 'dsq-drop-profile-' + id;
		dp.className = 'dsq-drop-profile';

		if(Dsq.Utils.ie6) { dp.style.display = 'inline'; }

		var container = Dsq.$('dsq-header-avatar-' + id);
		dp.innerHTML = Dsq.Templates.dropProfile(id);
		container.appendChild(dp);
	};

	this.dropProfileMore = function(el, id) {
		var hiddenItems = Dsq.$('dsq-drop-hidden-' + id);

		hiddenItems.style.display = 'inline';
		el.parentNode.style.display = 'none';
	};

	this._updateReplyLinks = function(el, id) {
		// Update "reply / cancel" links based on state.
		var displayDict = {};

		if(id) {
			if(this.stateReplyToggled[id]) {
				el.innerHTML = 'Cancel';
				displayDict['media'] = 'inline';
				displayDict['edit'] = 'none';
			} else {
				el.innerHTML = 'Reply';
				displayDict['media'] = 'none';
				displayDict['edit'] = 'inline';
			}
		}

		for(var key in displayDict) {
			if(displayDict.hasOwnProperty(key)) {
				var	linkEl = Dsq.$('dsq-' + key + '-el-' + id),
					spacer = Dsq.$('dsq-' + key + '-spacer-' + id);

				if(linkEl) {
					linkEl.style.display = displayDict[key];
					if(spacer) spacer.style.display = displayDict[key];
				}
			}
		}
	};

	this._updateMediaLinks = function(el, id) {
		// Update "use media / cancel" links based on state.
		var appendId = (id) ? ('-' + id) : '';
		var link = Dsq.$('dsq-media-link' + appendId);

		if(this.stateRecordLink[id]) {
			link.innerHTML = 'Cancel Media';
			link.onclick = function() { Dsq.Post.toggleMediaReply(link, id); return false; };
		} else {
			link.innerHTML = 'Use Media <small>&#9660;</small>';
			link.onclick = function() { Dsq.Post.showMenu(link, id, 'media'); return false; };
		}
	};

	this.toggleReply = function(el, id) {
		// Create reply IFrame
		if (window.disqus_use_postmessage) {
			if (!this.stateReplyToggled[id]) {
				Dsq.$('dsq-reply-' + id).style.display = 'block';
				Dsq.$('dsq-reply-bar-' + id).style.display = 'block';
				// Create IFrame if it doesn't exist.
				if (!Dsq.frames['reply_' + id]) {
					var _meta = Dsq.jsonData.posts[id];
					Dsq.frames['reply_' + id] = new Dsq.ReplyFrame(Dsq.$('dsq-reply-frame-' + id), id);
					Dsq.frames['reply_' + id].init();
					Dsq.frames['reply_' + id].setState(id, _meta.depth);
				}
			} else {
				Dsq.$('dsq-reply-' + id).style.display = 'none';
				Dsq.$('dsq-reply-bar-' + id).style.display = 'none';
			}
		} else {
			// DEPRECATED
			if(!this.stateReplyToggled[id]) {
				// Reply toolbar
				Dsq.$('dsq-reply-bar-' + id).style.display = 'block';
				Dsq.Iframes.showReplyIframeInContainerIfAllowed(Dsq.$('dsq-reply-' + id), id);
			} else {
				Dsq.$('dsq-reply-bar-' + id).style.display = 'none';
				Dsq.Iframes.hideAllInContainer(Dsq.$('dsq-reply-' + id));
				if(this.stateRecordLink[id]) {
					// HACK: Cancel media before canceling self.
					this.toggleMediaReply(Dsq.$('dsq-media-link-' + id), id);
				}
			}
		}

		this.stateReplyToggled[id] = !this.stateReplyToggled[id];
		this._updateReplyLinks(el, id);

		if(Dsq.Utils.ie) { Dsq.Utils.fixIframesIE('dsq-reply-' + id); }

		Dsq.Events.fire(Dsq.Events.REPLY_IFRAME_TOGGLED, {
			postId: id,
			opened: this.stateReplyToggled[id]
		});
	};

	this.toggleMediaReply = function(el, id, xtype) {
		id = id || 0;
		if(id) {
			var container = Dsq.$('dsq-reply-' + id);
		} else {
			var container = Dsq.$('dsq-post-add');
		}

		if(!this.stateRecordLink[id]) {
			Dsq.Iframes.showReplyIframeInContainer(container, id, {xtype:xtype}, 'dsq-post-video');
		} else {
			Dsq.Iframes.showReplyIframeInContainer(container, id);
		}
		this.stateRecordLink[id] = !this.stateRecordLink[id];
		this._updateMediaLinks(el, id);

		if(Dsq.Utils.ie) { Dsq.Utils.fixIframesIE(); }
	};

	this.edit = function(el, id) {
		Dsq.$('dsq-comment-message-' + id).innerHTML = Dsq.Templates.frameEdit(id);
		el.parentNode.style.display = 'none';
		if(Dsq.Utils.ie) { Dsq.Utils.fixIframesIE('dsq-comment-message-' + id); }
	};

    this.rate = function(el, id, vote) {
		if(Dsq.jsonData.request.is_authenticated || Dsq.jsonData.forum.allow_anon_votes) {
			if(vote == 1) {
                Dsq.$('dsq-rate-cont-' + id).innerHTML = '<img src="http://media.disqus.com/images/loading-small.gif">';
            }

            Dsq.Utils.execScript('http://disqus.com/forums/scobleizer/vote.js'
                + '?post_id='    + id
                + '&vote='        + vote);

		} else {
			Dsq.Popup.login(Dsq.Strings.TO_RATE_PLEASE_LOG_IN);
		}
    };

	this.report = function(id, confirmed) {
		if(confirmed) {
			Dsq.Utils.postToUrl('http://disqus.com/forums/scobleizer/the_new_a_list/post_report/', {'post_id': id});
			Dsq.Popup.popModal('Thank you. This comment has been flagged for moderator attention.', 'Successfully flagged');
			Dsq.Utils.deleteNode(Dsq.$('dsq-post-report-' + id));
		} else {
			var title = Dsq.Strings.FLAG_INAPPROPRIATE_COMMENT;
			var message = Dsq.Strings.ARE_YOU_SURE_YOU_WOULD_LIKE_TO_REPORT_THIS_COMMENT_TO_A_MODERATOR + '? \
			<br /><br /> \
			<button type="button" onclick="Dsq.Popup._closePopup(null, true)"><strong>' + Dsq.Strings.NO + '</strong>, ' + Dsq.Strings.NEVER_MIND + '</button>&nbsp;&nbsp;&nbsp;<button type="button" onclick="Dsq.Post.report(' + id + ', true);"><strong>' + Dsq.Strings.YES + '</strong>, ' + Dsq.Strings.FLAG_INAPPROPRIATE_COMMENT + '</button><br /><br />'
			+ Dsq.Strings.THIS_WILL_FLAG_COMMENTS_FOR_MODERATORS_TO_TAKE_ACTION + '. \
			';

			Dsq.Popup.popModal(message, title, id);
		}
	};



	this.showAlert = function(id, msg) {
		var msgEl = Dsq.$('dsq-comment-message-' + id);
		var alert = '<div class="dsq-comment-alert">' + msg + '</div>';

		msgEl.innerHTML = alert + msgEl.innerHTML;
	};

};
// Dsq.Post


/**
 * Dsq.Thread
 */
Dsq.Thread = new function() {
	this.fc = null;
	this.ff = null;
	this.ac = null;

	
	this.adminIsOn = false;

	
	
	

	this.hlComment = null;
	this.hlCommentClass = null;

	this.getNextComment = function(el) {
		var start_id = el.id;
		while(el = el.nextSibling) {
			if(el.id && el.id.indexOf('dsq-comment-') != -1 && el.id != start_id) {
				return el;
			}
		}
		return null;
	};

	this.getActiveCommentId = function() {
		if (document.URL.indexOf('#comment-') >= 0) {
			var anchor = document.URL.slice(document.URL.indexOf('#') + 1);
			return anchor.replace('comment-', '');
		}
		return null;
	};

	this.highlightAnchor = function() {
		var i = this.getActiveCommentId();
		if (i == null) return false;
		var id = 'dsq-comment-' + i;
		var hash = window.location.hash;

		// Toggle the hash incase the comment isn't available when the page loads
		// for WebKit-based browsers.
		if (Dsq.Utils.webkit) {
			window.location.hash = '';
			window.location.hash = hash;
		}

		this.hlComment = Dsq.$(id);
		// Adding this conditional guard pending #289
		if (!this.hlComment) {
			return;
		}
		this.hlCommentClass = this.hlComment.className;
		this.hlComment.className += ' dsq-hl-anchor';

		setTimeout("Dsq.Thread.highlightClear()", 3000);
	};

	this.highlightClear = function() {
		if (!this.hlComment) {
			return;
		}
		this.hlComment.className = this.hlCommentClass;
	};

	this.login = function(toggle) {
		// toggle id is #dsq-reply-login-[id]
		var postId;
		if(toggle.id.indexOf('dsq-reply-login') != -1) {
			postId = toggle.id.slice(16);
			var container = Dsq.$('dsq-reply-' + postId);
		} else {
			var container = Dsq.$('dsq-post-add');
		}

		if(toggle) {
			if(toggle.className == 'dsq-login-active') {
				Dsq.Iframes.showReplyIframeInContainerIfAllowed(container, postId);
				toggle.className = '';
			} else {
				Dsq.Iframes.showLoginIframeInContainer(container, postId);
				toggle.className = 'dsq-login-active';
			}
		} else {
			Dsq.Iframes.showLoginIframeInContainer(container, postId);
		}

		if(Dsq.Utils.ie) { Dsq.Utils.fixIframesIE(); }
	};


	this.paginate = function(page, el_clicked, per_page) {
		// Use extra_params to pass any override parameters that we need to persist.
		var extra_params = '';

		// "Per page" can either be overriden by providing it as an argument
		// (per-call) or setting the disqus_per_page override variable (global).
		if(typeof per_page == 'undefined') {
			per_page = null;
		}
		if(typeof disqus_per_page != 'undefined' && per_page === null) {
			per_page = disqus_per_page;
		}

		if(typeof disqus_sort != 'undefined') {
			extra_params += '&sort=' + disqus_sort;
		}
		if(per_page !== null) {
			extra_params += '&per_page=' + per_page;
		}

		Dsq.$('dsq-pagination').innerHTML += '<img src="http://media.disqus.com/images/loading-small.gif">';
		
		if(el_clicked) {
			el_clicked.style.display = 'none';
		}
		
		Dsq.Utils.execScript('http://disqus.com/forums/scobleizer/thread.js'
			+ '?slug='	+ 'the_new_a_list'
			+ '&p='		+ page
			+ extra_params);
	};

	this.sortBy = function(sort) {
		var disqus_script = document.createElement('script');
		var disqus_date = new Date();

		if (location.hash != '') {
			location.hash = '#disqus_thread';
		}

		if(typeof(disqus_url) == 'undefined') {
			disqus_url = disqus_href;
		}
		disqus_script.type = 'text/javascript';
		disqus_script.src = 'http://disqus.com/forums/scobleizer/thread.js'
			+ '?slug='	+ 'the_new_a_list'
			+ '&sort='	+ sort
			+ '&title='
			+ '&'		+ disqus_date.getTime();

		Dsq.$('dsq-comments').innerHTML = '<img src="http://media.disqus.com/images/loading.gif">';
		Dsq.container.appendChild(disqus_script);
	};

	this.subscribe = function(status, email) {
		// `status` is an int -- 1 to subscribe, 0 to unsubscribe
		if(Dsq.jsonData.request.is_authenticated || email) {
			// If authenticated user OR anonymous email provided

			if(email) {
				Dsq.Popup._closePopup(null, true);
			}

			Dsq.Utils.execScript('http://disqus.com/forums/scobleizer/subscribe.js'
				+'?status=' 	+ status
				+ '&slug='		+ 'the_new_a_list'
				+ '&email=' 	+ encodeURIComponent(email));

		} else if(!email) {
			// If anonymous user and no email has been provided yet, prompt for email

			var title = 'Subscribe to this comment thread';
			var message = ' \
				New comments will be sent directly to your email inbox! \
				<div class="dsq-subscribe-submit"> \
					<p><strong>Enter your email address below.</strong></p> \
					<input type="text" id="dsq-subscribe-email"> \
					<button type="button" onclick="Dsq.Thread.subscribe(1, Dsq.$(\'dsq-subscribe-email\').value)">Subscribe</button> \
				</div> \
			';

			Dsq.Popup.popModal(message, title);
		}
	};

	this.showSettings = function() {
		if (!Dsq.jsonData.request.is_moderator) {
			return;
		}

		/* The form has to be re-designed when more options will come out. */
		var html = 'Automatically close comments after <input size="3" id="dsq-thread-days-alive" value="' + Dsq.jsonData.thread.days_alive + '" type="text" /> days. Existing comments will still be displayed.<br /><br />(Using 0 days will disable this feature)<br /><br />'
								 + '<button type="button" onclick="Dsq.Thread.updateDaysAlive();" class="dsq-button-small"><span>Save</span></button>'
								 + '<span id="dsq-thread-settings-status" class="dsq-options-status"></span>';

		Dsq.Popup.popModal(html, 'Settings');
	};

  this.showModeratorActions = function() {
      if (!Dsq.jsonData.request.is_moderator) {
          return;
      }

      var html = '<div class="dsq-moderate-options"><table><tr>' +
                 '<td>' + Dsq.Strings.ACTIONS + '</td><td><ul>';
      html += '<li><a href="#" onclick="Dsq.Thread.toggleClosed(); return false;">' +
              (Dsq.jsonData.thread.closed ? Dsq.Strings.OPEN_THREAD : Dsq.Strings.CLOSE_THREAD) +
              '</a></li>';
      html += '<li><a href="#" onclick="Dsq.Thread.toggleKilled(); return false;">' +
              (Dsq.jsonData.thread.killed ? Dsq.Strings.RESTORE_THREAD : Dsq.Strings.REMOVE_THREAD) +
              '</a></li>';
      html += '</ul></td></tr></table></div>' +
              '<p>Go to the full <a href="http://disqus.com/comments/moderate-threads/" target="_blank">moderate panel</a> for more options.</p>';
      Dsq.Popup.popModal(html, Dsq.Strings.MODERATE_OPTIONS);
  };

	this.updateDaysAlive = function() {
		  var days = Dsq.$('dsq-thread-days-alive').value;
		  var status = Dsq.$('dsq-thread-settings-status');
		  Dsq.Utils.postToUrl('http://disqus.com/forums/scobleizer/update_days_alive.js', {days:days,thread:Dsq.jsonData.thread.id});
		  status.innerHTML = 'Saved!';
		  window.setTimeout(function() { status.innerHTML = ''; }, 1000);
	};

  this.toggleClosed = function() {
      Dsq.Utils.postToUrl('http://disqus.com/forums/scobleizer/toggle_thread_closed.js', {thread:Dsq.jsonData.thread.id});
      window.setTimeout(function() { window.location.reload(); }, 500);
  };

  this.toggleKilled = function() {
      Dsq.Utils.postToUrl('http://disqus.com/forums/scobleizer/toggle_thread_killed.js', {thread:Dsq.jsonData.thread.id});
      window.setTimeout(function() { window.location.reload(); }, 500);
  };
};
// Dsq.Thread

Dsq.Events = function() {
	var obj = {};

	// Private
	var handlers = {};
	var getHandlers = function(event) {
		if (handlers[event] === undefined) {
			handlers[event] = [];
		}
		return handlers[event];
	};

	// Public
	// Value keys : postId, node, xtype
	obj.REPLY_IFRAME_CREATED = 1;
	// Value keys : postId, opened
	obj.REPLY_IFRAME_TOGGLED = 2;
	obj.fire = function(event, opt_value) {
		if (!event) {
			throw new Error('Unknown event');
		}
		var value = opt_value || {};
		for (var i=0; i<getHandlers(event).length; i++) {
			getHandlers(event)[i](value);
		}
	};
	obj.addHandler = function(event, callback) {
		getHandlers(event).push(callback);
	};

	return obj;
}();

/**
 * Dsq.Realtime
 */
Dsq.Realtime = new function() {
	var initialized = false;
	var interval = null;
	var last_checked = Dsq.jsonData.request.timestamp;
	var new_posts = [];
	var ongoing_request = false;
	var prev_script = null;

	function updateNewPostCount() {
		Dsq.$('dsq-realtime-alert').style.display = new_posts.length ? 'block' : 'none';

		Dsq.$('dsq-realtime-queued').innerHTML = new_posts.length
		+ ' new '
		+ Dsq.Utils.pluralize(new_posts.length, 'comment', 'comments')
		+ Dsq.Utils.pluralize(new_posts.length, ' was', ' were')
		+ ' just posted.';

		Dsq.$('dsq-realtime-show').innerHTML = '(' + Dsq.Strings.SHOW + ')';
	}

	function insertNewPosts() {
		var post_id = null;
		var after_id = Dsq.$('dsq-sort-select').value === 'oldest' ? -1 : null;

		for (var i=0; i<new_posts.length; i++) {
			post_id = new_posts[i];
			Dsq.Post.insert(after_id, post_id, Dsq.jsonData.posts[post_id].message);
			Dsq.Post.incrementPostCount();
			Dsq.Post.outlineComment(post_id);
		}
		new_posts = [];
	}

	this.enableInterval = function() {
		interval = setInterval(Dsq.Realtime.check, Dsq.jsonData.context.realtime_speed);
		Dsq.$('dsq-realtime-status').innerHTML = Dsq.Strings.ENABLED;
		Dsq.$('dsq-realtime-toggle').innerHTML = '(' + Dsq.Strings.PAUSE + ')';
	}

	this.disableInterval = function() {
		if (interval) {
			clearInterval(interval);
			interval = null;
		}
		Dsq.$('dsq-realtime-status').innerHTML = Dsq.Strings.PAUSED;
		Dsq.$('dsq-realtime-toggle').innerHTML = '(' + Dsq.Strings.RESUME + ')';
	}

	this.toggleInterval = function() {
		if (!interval) {
			Dsq.Realtime.enableInterval();
		} else {
			Dsq.Realtime.disableInterval();
		}
		return false;
	}

	this.initialize = function() {
		if (!initialized) {
			initialized = true;
			Dsq.$('dsq-realtime-toggle').onclick = this.toggleInterval;
			if (!Dsq.jsonData.forum.streaming_realtime) {
				Dsq.$('dsq-realtime-show').onclick = this.show;
				updateNewPostCount();
			}
			if (Dsq.jsonData.thread.realtime_paused) {
				Dsq.Realtime.disableInterval();
			} else {
				Dsq.Realtime.enableInterval();
			}
		}
	}

	this.show = function() {
		insertNewPosts();
		updateNewPostCount();
		return false;
	}

	this.check = function() {
		if (!ongoing_request && Dsq.jsonData.realtime_enabled) {
			if (prev_script) {
				prev_script.parentNode.removeChild(prev_script);
			}
			ongoing_request = true;
			prev_script = Dsq.Utils.execScript('http://disqus.com/forums/18369420/realtime.js?timestamp=' + last_checked);
		}
	};

	this.update = function(timestamp, posts, users) {
		ongoing_request = false;
		last_checked = timestamp;

		if (users) {
			for (var user_id in users) {
				if (users.hasOwnProperty(user_id)) {
					if (!Dsq.jsonData.users[user_id]) {
						Dsq.jsonData.users[user_id] = users[user_id];
					}
				}
			}
		}

		if (posts) {
			for (var post_id in posts) {
				if (posts.hasOwnProperty(post_id)) {
					if (!Dsq.jsonData.posts[post_id]) {
						Dsq.jsonData.posts[post_id] = posts[post_id];
						new_posts.push(post_id);
					}
				}
			}

			if (Dsq.jsonData.forum.streaming_realtime) {
				insertNewPosts();
			} else {
				updateNewPostCount();
			}
		}
	};

}();

// DEPRECATED
Dsq.Iframes = function() {
	// Different style of object from the above. Hoping to switch to this for some reason.
	var obj = {};

	// Private
	var showIframeInContainer = function(container, id, markup) {
		// Look through container for iframes, hiding them, except show one that matches id
		// If none of them matched id, create a new iframe using markup and insert it.
		// Returns the iframe node if and only if it was newly created.
		var found = false;
		for (var i=0; i<container.childNodes.length; i++) {
			var child = container.childNodes[i];
			if (child.nodeName == 'IFRAME') {
				if (child.id == id) {
					child.style.display = 'block';
					found = true;
				} else {
					child.style.display = 'none';
				}
			}
		}
		if (found) {
			return;
		}
		// The iframe wasn't found, so construct it and add it to the container.
		// Don't use innerHTML because it might reload iframes
		var div = document.createElement('div');
		div.innerHTML = markup;
		var iframe = div.childNodes[0];
		div.removeChild(iframe);
		container.appendChild(iframe);
		return iframe;
	};

	// Public
	obj.makeReplyIframeId = function(opt_postId, opt_xtype) {
		var id = 'dsq-post-add-iframe';
		if (opt_xtype) {
			id += '-' + opt_xtype;
		}
		if (opt_postId) {
			id += '-' + opt_postId;
		}
		return id;
	};
	obj.makeLoginIframeId = function(opt_postId) {
		if (!opt_postId) {
			return 'dsq-login-iframe';
		}
		return 'dsq-login-iframe-' + opt_postId;
	};
	obj.makeReplyIframeName = function(opt_postId, opt_xtype) {
		var name = 'dsq-reply-frame';
		if (opt_xtype) {
			name += '-' + opt_xtype;
		}
		if (opt_postId) {
			name += '-' + opt_postId;
		}
		return name;
	};
	obj.showReplyIframeInContainer = function(container, opt_postId, opt_extraParams, opt_className) {
		// Construct the id so we can check if it's already present.
		// Hide any other iframes we find, and show this one if it's found.
		var params = opt_extraParams || {};
		// use xtype in the id and name so we can distinguish media replies from text replies:
		var id = Dsq.Iframes.makeReplyIframeId(opt_postId, params.xtype);
		var name = Dsq.Iframes.makeReplyIframeName(opt_postId, params.xtype);
		var attributes = {
			'id': id,
			'name': name,
			'class': opt_className || 'dsq-post-reply'
			};
		var markup = Dsq.Templates.frameReply(opt_postId, opt_extraParams, attributes);
		var iframe = showIframeInContainer(container, id, markup);
		// It was newly created
		if (iframe) {
			Dsq.Events.fire(Dsq.Events.REPLY_IFRAME_CREATED, {
				postId: opt_postId,
				node: iframe,
				xtype: params.xtype
			});
		}
	};
	obj.showLoginIframeInContainer = function(container, opt_postId) {
		var id = Dsq.Iframes.makeLoginIframeId(opt_postId);
		var markup = Dsq.Templates.frameLogin({id: id});
		showIframeInContainer(container, id, markup);
	};
	obj.showReplyIframeInContainerIfAllowed = function(container, opt_postId) {
		if (Dsq.jsonData.context.show_reply) {
			obj.showReplyIframeInContainer(container, opt_postId);
		} else {
			obj.hideAllInContainer(container);
		}
	};
	obj.hideAllInContainer = function(container) {
		for (var i=0; i<container.childNodes.length; i++) {
			var child = container.childNodes[i];
			if (child.nodeName == 'IFRAME') {
				child.style.display = 'none';
			}
		}
	};

	return obj;
}();

Dsq.Twitter = new function() {
	var that = this;

	this.startTwitterConnect = function() {
		var popupParams = 'location=0,status=0,width=800,height=400';
		that._twitterWindow = window.open(Dsq.jsonData.settings.disqus_url + '/_ax/twitter/begin/', 'twitterWindow', popupParams);
		that._twitterInterval = window.setInterval(that.completeTwitterConnect, 1000);
	};

	this.completeTwitterConnect = function() {
		if (that._twitterWindow.closed) {
			window.clearInterval(that._twitterInterval);
			window.location.reload();
		}
	};
};

Dsq.Yahoo = new function() {
	var that = this;

	this.startYahooConnect = function() {
		var popupParams = 'location=0,status=0,width=800,height=400';
		that._yahooWindow = window.open(Dsq.jsonData.settings.disqus_url + '/_ax/yahoo/begin/', 'yahooWindow', popupParams);
		that._yahooInterval = window.setInterval(that.completeYahooConnect, 1000);
	};

	this.completeYahooConnect = function() {
		if (that._yahooWindow.closed) {
			window.clearInterval(that._yahooInterval);
			window.location.reload();
		}
	};
};

Dsq.OpenID = new function() {
	var that = this;

	this.requestURL = function() {
		var message = '<table class="dsq-openid-form"><tr><td style="vertical-align:top;" rowspan="2"><img src="' + Dsq.jsonData.settings.media_url + '/images/openid-icon-100x100.png" /></td>';
		message += '<td><label for="dsq-openid-url">OpenID URL:</label></td><td><input type="text" id="dsq-openid-url" /></td></tr>';
		message += '<tr><td><label for="dsq-openid-username">Display name:</label></td><td><input type="text" id="dsq-openid-username" /></td></tr>';
		message += '<tr><td class="dsq-openid-submit" colspan="3"><input type="button" value="Sign in" onclick="Dsq.OpenID.startConnect();" /></td></tr>';
		message += "</table>";

		Dsq.Popup.popModal(message, 'Sign in using OpenID');
	};

	this.startConnect = function() {
		var isblank = function(str) {
			return /^\s*$/.test(str);
		};

		var openid_url = Dsq.$('dsq-openid-url').value;
		var username = Dsq.$('dsq-openid-username').value;

		if (isblank(openid_url)) {
			return;
		}

		var popupParams = 'location=0,status=0,width=800,height=500';
		var url = Dsq.jsonData.settings.disqus_url + '/_ax/openid/begin/' + '?url=' + encodeURIComponent(openid_url) + '&username=' + encodeURIComponent(username);
		that._openidWindow = window.open(url, 'openidWindow', popupParams);
		that._openidInterval = window.setInterval(that.completeConnect, 1000);
	};

	this.completeConnect = function() {
		if (that._openidWindow.closed) {
			window.clearInterval(that._openidInterval);
			window.location.reload();
		}
	};
};

Dsq.Reaction = new function() {
	var that = this;

	this.hide = function(id) {
		Dsq.Utils.execScript('http://disqus.com/forums/scobleizer/hidereaction.js?' + 'reaction_id=' + id);
	};

	this.reportMissingReactions = function() {
		if (!Dsq.jsonData.request.is_moderator || !Dsq.jsonData.forum.reactions_enabled) {
			return;
		}

		if (Dsq.jsonData.thread.queued) {
			Dsq.Popup.popModal('Your report has been received. The system will automatically search for new reactions; if any are found, they will be displayed on this comment thread.<br/><br/>Thank&nbsp;you.',
												 'Reported missing reactions');
			return;
		}

		Dsq.Utils.execScript(Dsq.jsonData.settings.disqus_url + '/forums/scobleizer/queueurl.js');
	};
};

Dsq.CNN = function() {
	var obj = {};

	obj.authenticate = function() {
		var url = Dsq.jsonData.settings.disqus_url + "/saml/cnn/try/";
		Dsq.Utils.postToUrl(url, {'target': document.location}, true);
	};

	return obj;
}();


if(Dsq.Utils.ie6) {
	(function() {
		DSQ_HEADER_AVATAR_RE = /<div class="dsq-header-avatar"(.*?)>/gim;
		Dsq.Templates.registerFilter('postPrependHeader', function(html, post_id) {
			// Add "onmouseout" for dsq-header-avatar for dropProfile
			// functionality since IE6 cannot use :hover.
			function _headerAvatarReplace(content, inner, _unused, html) {
				return '<div class="dsq-header-avatar" '
					+ inner
					+ ' onmouseout="Dsq.Post.dropProfile(' + post_id + ')">';
			}
			html = html.replace(DSQ_HEADER_AVATAR_RE, _headerAvatarReplace);
			return html;
		});
	})();
}





	// TODO: Move Seesmic code outside of the main script.  Don't let this script clobber the global namespace.
	if(typeof seesmic == 'undefined') { var seesmic = {}; }
	seesmic.widget = new function () {
		this.callback = function (data) {
			playerVersion = data.disqusplayer;
		};
	};

	
	var scriptEl = document.createElement('script');
	scriptEl.setAttribute('type', 'text/javascript');
	scriptEl.setAttribute('src', 'http://seesmic.com/version.js?callback=seesmic.widget.callback');
	document.getElementsByTagName('head')[0].appendChild(scriptEl);

	
	var scriptEl = document.createElement('script');
	scriptEl.setAttribute('type', 'text/javascript');
	scriptEl.setAttribute('src', 'http://media.disqus.com/javascript/library/swfobject.js');
	document.getElementsByTagName('head')[0].appendChild(scriptEl);

	function see_play_video(_videoUri, _add) {
		var swf = !!playerVersion ? playerVersion : 'http://seesmic.com/embeds/StandalonePlayer.swf';

		flashcontentDiv = Dsq.$(_videoUri + '_content');
		previewDiv = Dsq.$('dsq-seesmic-' + _videoUri + '_preview');
		hideDiv = Dsq.$('dsq-seesmic-' + _videoUri + '_hide');
		showDiv = Dsq.$('dsq-seesmic-' + _videoUri + '_show');
		if(_add) {
			// push flash widget
			var so = new SWFObject(swf, 'sotester', '300', '270', '9', '#000000');
			so.addVariable('video', _videoUri);
			so.addParam('allowFullScreen', 'true');
			so.addParam('allowScriptAccess','always');
			so.useExpressInstall('swfobject/expressinstall.swf');
			so.write(_videoUri + '_content');

			previewDiv.style.display = 'none';
			hideDiv.style.display = 'block';
			showDiv.style.display = 'none';
		}
		else {
			flashcontentDiv.innerHTML = '';
			previewDiv.style.display = 'block';
			hideDiv.style.display = 'none';
			showDiv.style.display = 'block';
		}
	};





(function() {
	//
	// Load theme.  This overrides the base templates with template functions
	// from the respective themes.
	//
	if (Dsq.jsonData.integration.theme == 4) {
		var theme = 'narcissus';
		// HACK: Set variable on window to use post message.
		window.disqus_use_postmessage = true;

		
		for(var prop in Dsq.Themes[theme]) {
			if(Dsq.Themes[theme] && Dsq.Themes[theme].hasOwnProperty(prop)) {
				Dsq.Templates[prop] = Dsq.Themes[theme][prop];
			}
		}
		
		for(var prop in Dsq.Post) {
			if(Dsq.Themes[theme] && Dsq.Themes[theme].hasOwnProperty(prop)) {
				Dsq.Post[prop] = Dsq.Themes[theme][prop];
			}
		}
	}

	//
	// Register templates.  This must be done after all themes are loaded.
	//
	Dsq.Templates.registerTemplate('authPost', Dsq.Templates.authPost);
	Dsq.Templates.registerTemplate('header', Dsq.Templates.header);
	Dsq.Templates.registerTemplate('footer', Dsq.Templates.footer);
	Dsq.Templates.registerTemplate('trackbacks', Dsq.Templates.trackbacks);
	Dsq.Templates.registerTemplate('reactions', Dsq.Templates.reactions);
	Dsq.Templates.registerTemplate('prependPost', Dsq.Templates.prependPost);
	Dsq.Templates.registerTemplate('appendPost', Dsq.Templates.appendPost);
	Dsq.Templates.registerTemplate('postPrependHeader', Dsq.Templates.postPrependHeader);
	Dsq.Templates.registerTemplate('postAppendHeader', Dsq.Templates.postAppendHeader);
	Dsq.Templates.registerTemplate('preBody', Dsq.Templates.preBody);
	Dsq.Templates.registerTemplate('postBody', Dsq.Templates.postBody);
	Dsq.Templates.registerTemplate('postFooter', Dsq.Templates.postFooter);
	Dsq.Templates.registerTemplate('_popupGeneric', Dsq.Templates._popupGeneric);
	Dsq.Templates.registerTemplate('voted', Dsq.Templates.voted);
	Dsq.Templates.registerTemplate('popupProfile', Dsq.Templates.popupProfile);
	Dsq.Templates.registerTemplate('postBox', Dsq.Templates.postBox);
	Dsq.Templates.registerTemplate('pagination', Dsq.Templates.pagination);
	Dsq.Templates.registerTemplate('postComment_onSuccess', Dsq.Templates.postComment_onSuccess);

})();

Dsq.container.className = "clearfix";
Dsq.container.innerHTML = ' \
<ul id="dsq-comments">\
	 <li id="dsq-comment-9634441">\
	 <div id="dsq-comment-header-9634441" class="dsq-comment-header">\
	 <cite id="dsq-cite-9634441" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9634441">Derek</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9634441" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9634441" class="dsq-comment-message">Robert - stay with us, your mission is the right one--<br>"I want better software. More software. More geek toys. More things that improve my life."<br>Your efforts to publicize what inventors are doing, open a door so that the world gets more exposed to their ideas...stick with it. Blogs are the modern Agora, unruly at times but ultimately smart people learn who to ignore and who is worth listening to.  You\'re helping to give us all a better chance of ignoring the noise, and seeing and hearing the worthwhile speaker. Down with the mob, long live the inventors!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9634442">\
	 <div id="dsq-comment-header-9634442" class="dsq-comment-header">\
	 <cite id="dsq-cite-9634442" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9634442">barfoo</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9634442" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9634442" class="dsq-comment-message">I\'m still not clear on one thing though,<br><br>did you wish you had never looked at the blogs today or not?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9634443">\
	 <div id="dsq-comment-header-9634443" class="dsq-comment-header">\
	 <cite id="dsq-cite-9634443" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9634443" href="http://www.richbrownell.com/" target="_blank" rel="nofollow">Richard Brownell</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9634443" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9634443" class="dsq-comment-message">Robert: that\'s the real world you\'re seeing come in here. If the goal is for everybody to be blogging, podcasting, whatever, this is what you will see. The world is not a pretty place. There are a lot of angry people in it and that anger will be reflected online, perhaps even amplified because there is no filter online. People lose their inhibitations more than at a drunken frat party.<br><br>But still, much like the rise in GOOD blogs was not because blogging is good, neither is this anger-fest because blogging is bad. Blogging is neutral. So wishing you hadn\'t read blogs today has nothing to do with blogs and everything to do with wishing you hadn\'t heard what real people have to say.<br><br>That is not meant as a critique of you though so don\'t please don\'t take it as such! There are times when everybody just wants to tune out what people of the world is saying because it isn\'t pretty.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9634444">\
	 <div id="dsq-comment-header-9634444" class="dsq-comment-header">\
	 <cite id="dsq-cite-9634444" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9634444" href="http://www.bynkii.com/" target="_blank" rel="nofollow">John C. Welch</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9634444" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9634444" class="dsq-comment-message">Robert, your complaining about people being mean is silly. You sit down and write deliberately inflammatory stuff, nigh troll-bait some days, yet you are CONTINUALLY amazed when you get..well, an inflammatory response. You used to be a fundie, you must still remember that bit about "as ye reap, so shall ye sow"?<br><br>And lord knows, Winer\'s never shied away from a fight, or being a sarcastic, snide ass any chance he got. So now he\'s getting the same thing back.<br><br>If you\'re going to be an opinionated, sarcastic bugger, then stop bitching when you get it back, because well, you ask for it.<br><br>I may get TIRED of the flames in the comments on some of my posts, (dear GOD, but Star Wars fans never let it go), but I never complain about "the evil mean people". I know what my style is going to create, and I accept that. If I ever wish for a different reaction, I\'ll write differently.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9634445">\
	 <div id="dsq-comment-header-9634445" class="dsq-comment-header">\
	 <cite id="dsq-cite-9634445" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9634445" href="http://rolandboon.net/" target="_blank" rel="nofollow">Roland</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9634445" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9634445" class="dsq-comment-message">Never liked attacks, never learned how to rant.<br>Always liked software, always want to know how it is made.<br><br>You are like Dave in that you are Posta Maxima. In the beginning you guys were the Link Masters, driving the blog-o-sphere. At present, the Borg Hive is so large, the number of voices has become too much to be handled by a single human mind, even if it aided by aggregator technology.<br><br>At times of crisis, it is good to unplug for a while, and spent some time in the real world. In the past, people just to call these periods \'vacations\'. It is a bit of an art, this vacation thing, but try it, and keep trying it, and you will find that it recharges you in more ways than one. And who knows, you might even like the digital domain afterwards. :-)<br><br>Thanks for the human voice.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9634446">\
	 <div id="dsq-comment-header-9634446" class="dsq-comment-header">\
	 <cite id="dsq-cite-9634446" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9634446" href="http://scobleizer.wordpress.com/" target="_blank" rel="nofollow">scobleizer</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9634446" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9634446" class="dsq-comment-message">John: I have never gone after someone the way these people have. Please name an instance where I\'ve said anyone is an idiot, evil, or stupid? If I have, I\'m sorry, but I do try to add value here, not tear down people, even ones I think are not helping their cause.<br><br>Being a bit sensationalistic is not an excuse to attack personally. If I disagree with their ideas, I\'ll say so, but I won\'t try to make them feel bad.<br><br>But, this is something I\'ll try to do a lot less of. Just focus on the people doing cool stuff.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9634447">\
	 <div id="dsq-comment-header-9634447" class="dsq-comment-header">\
	 <cite id="dsq-cite-9634447" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9634447">James Robertson</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9634447" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9634447" class="dsq-comment-message">Robert,<br><br>Go read the mailing list:<br><br><a href="http://groups.yahoo.com/group/rss-public/" rel="nofollow">http://groups.yahoo.com/group/rss-public/</a><br><br>Find the posts made by Dave Winer.  After you\'ve read a few of those, maybe you\'ll see why he sets so many people off.  Has Dave contributed?  Sure, in many places.  He\'s also impossible to work with, and he\'s irritated the heck out of a lot of very reasonable people.  I\'d count Tim Bray and Rogers Cadenhead as two of the most reasonable people I read, and I disagree with both of them - on different things - quite a bit.  Dave has pushed both of them away, through some of the most venal, mean spirited attacks I\'ve seen anywhere.<br><br>As I said on my blog - if Dave wants to know why he\'s  disliked so much, he should buy a mirror.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9634448">\
	 <div id="dsq-comment-header-9634448" class="dsq-comment-header">\
	 <cite id="dsq-cite-9634448" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9634448">Ross</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9634448" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9634448" class="dsq-comment-message">Robert, I don\'t think it is so much people going after Dave, I think it is a case of \'what goes around comes around\'.  You can\'t take the kind of attitude to people that Mr W does and *not* expect to get any grief back - and whilst he is publically denigrating friends and colleagues do you expect them to just take it and walk away? Because he invented something?  How many other tech inventors have a bad attitude and feel the need to lash out at people sp publically and voilently when they disagree with them? TimBL? Bill Gates? Vint Cerf? Steve Ballmer (oops).<br><br>Dave will get the respect he is due, when he stops acting like a child.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9634449">\
	 <div id="dsq-comment-header-9634449" class="dsq-comment-header">\
	 <cite id="dsq-cite-9634449" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9634449" href="http://www.onlyrepublican.com/" target="_blank" rel="nofollow">Matt S</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9634449" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9634449" class="dsq-comment-message">Hey Robert, don\'t despair. Yes, there is a lot of mob mentality out there. Take a look at the political half of memeorandum to get an idea.<br><br>But don\'t give up on the medium. The ad hominem stuff won\'t go away but it also doesn\'t have a lot of lasting value. Do what Microsoft generally does -- focus more on customers and products than detractors.<br><br>Diversity and chaos are two sides of the same coin. People like me will spend our "attention dollars" on the blogs that actually add value.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9634450">\
	 <div id="dsq-comment-header-9634450" class="dsq-comment-header">\
	 <cite id="dsq-cite-9634450" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9634450">Jeff Davis</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9634450" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9634450" class="dsq-comment-message">Robert,<br><br>Quit whining. It ain\'t so bad. You are doing good work.  Nothing fatal went on today in the blogosphere. There is a disagreement and folks line up behind who they want to line up behind. Forget it. Just keep on keeping on. Have a nice glass of Chardonnay, hug your wife and enjoy life.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9634451">\
	 <div id="dsq-comment-header-9634451" class="dsq-comment-header">\
	 <cite id="dsq-cite-9634451" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9634451">met</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9634451" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9634451" class="dsq-comment-message">Or Dave could have just retired without the hoopla. When you want the limelight you have to take the bad things with it.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9634452">\
	 <div id="dsq-comment-header-9634452" class="dsq-comment-header">\
	 <cite id="dsq-cite-9634452" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9634452" href="http://mcdmcblog.wordpress.com/" target="_blank" rel="nofollow">mcdmcblog</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9634452" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9634452" class="dsq-comment-message">Robert,<br><br>Your consideration for a maligned friend is admirable.<br><br>It must be difficult to see Dave attacked so vehemently.<br><br>I disagree with Dave\'s actions in this situation but I have made every attempt to persuade the b\'verse to gently ask Dave to try to work it out with Rogers.<br><br>Rogers did create some code with and for Dave and there\'s ample evidence of the effort at <a href="http://opml.cadenhead.org" rel="nofollow">opml.cadenhead.org</a>. Dave paid $5,000 up front with a clear expectation that the details could settle overtime. Dave is documented on the site stating that Rogers did another miraculous programming job.<br><br>Consider the language of the letter Rogers recieved from Dave\'s lawyer on a friday that demanded return of all deposit money, and the code and any rights to all work performed.<br><br>I expect you to continue to stand by your friend but please try to understand the violent reaction that Dave generates when his "agreement" language states:<br><br>Consultant agrees that all copyrightable material, notes, records, drawings, designs, inventions, improvements, developments, discoveries and trade secrets (collectively, "Inventions") conceived, made or discovered by Consultant, solely or in collaboration with others, during the period of this Agreement which relate in any manner to the business of the Company that Consultant may be directed to undertake, investigate or experiment with or which Consultant may become associated with in work, investigation or experimentation in the line of business of Company in performing the Services hereunder, are the sole property of the Company. In addition, any Inventions which constitute copyrightable subject matter shall be considered "works made for hire" as that term is defined in the United States Copyright Act. Consultant further agrees to assign (or cause to be assigned) and does hereby assign fully to the Company all such Inventions and any copyrights, patents, mask work rights or other intellectual property rights relating thereto.<br><br>I wouldn\'t sign such a document after doing 90% of the work. I\'d take my work down another path. But if I was confronted with a decision like the one Rogers faced when Mar 15th rolled around (beware the Ides of March) I\'d quite likely use the full power of my blog to ask for a little help when the Overlords came to take away my property.<br><br>Dave\'s contention that Rogers work is a derivative product of his code is something that might be arbitrated but it\'s clear to me that he\'s not dealing  in good faith with a contractor and it\'s likely that no arbitration will follow...<br><br>This is clearly a by-product of the RSS issues and Dave following through on his treats against Rogers for acting independently.<br><br>Reasonable people act reasonably.<br><br>People being victimized scream for help.<br><br>There seems to be a victim here and it\'s not Dave Winer. Dave\'s injuries are a consequence of his behaviors and tactics with a business partner.<br><br>I do think you for allowing comments on the situation. I do not have the ability to comment at Dave\'s site. I would encourgage him strongly to change his position on this matter. I only wish Dave had some friends that would counsel him to use his power more wisely.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9634453">\
	 <div id="dsq-comment-header-9634453" class="dsq-comment-header">\
	 <cite id="dsq-cite-9634453" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9634453" href="http://www.greenjem.com/" target="_blank" rel="nofollow">Larry</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9634453" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9634453" class="dsq-comment-message">Shhh... you\'re distracting the <a href="http://www.gizmodo.com/gadgets/pcs/gates-has-harsh-words-for-100-computer-project-161011.php" rel="nofollow">Bill Gates flame up over at Gizmodo.</a></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9634454">\
	 <div id="dsq-comment-header-9634454" class="dsq-comment-header">\
	 <cite id="dsq-cite-9634454" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9634454" href="http://www.cincomsmalltalk.com/blog/blogView" target="_blank" rel="nofollow">James Robertson</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9634454" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9634454" class="dsq-comment-message">One more thing, along the lines of my earlier comment:<br><br><a href="http://groups.yahoo.com/group/rss-public/message/304" rel="nofollow">http://groups.yahoo.com/group/rss-public/messag...</a><br><br>Read that post specifically, especially the end of it.  In that light, doesn\'t Dave\'s action look pretty bad?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9634455">\
	 <div id="dsq-comment-header-9634455" class="dsq-comment-header">\
	 <cite id="dsq-cite-9634455" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9634455" href="http://listmixer.com/" target="_blank" rel="nofollow">Sid Steward</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9634455" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9634455" class="dsq-comment-message">I\'ve been too busy to read blogs -- lucky me!  Idle hands are the devil\'s tools, and all that.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9634456">\
	 <div id="dsq-comment-header-9634456" class="dsq-comment-header">\
	 <cite id="dsq-cite-9634456" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9634456" href="http://scobleizer.wordpress.com/" target="_blank" rel="nofollow">scobleizer</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9634456" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9634456" class="dsq-comment-message">James: I\'m staying out of this one.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9634457">\
	 <div id="dsq-comment-header-9634457" class="dsq-comment-header">\
	 <cite id="dsq-cite-9634457" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9634457">Ethan</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9634457" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9634457" class="dsq-comment-message"><i>Cause I know how this game is played. Once Dave is outta the way, they are coming after me. Or you. Or your friends.</i><br><br>Paranoid much? WTF did you get into in Austin? Nevermind stopping reading blogs, I recommend detox.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9634458">\
	 <div id="dsq-comment-header-9634458" class="dsq-comment-header">\
	 <cite id="dsq-cite-9634458" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9634458" href="http://www.bynkii.com/" target="_blank" rel="nofollow">John C. Welch</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9634458" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9634458" class="dsq-comment-message">Robert, you don\'t get it...<br><br><i>you don\'t get to control the reaction to your writing</i>. You stick your finger in the collective eye, and you expect that the reaction will be one you approve of.<br><br>That\'s somewhat...unrealistic. In your case, you just provoke for hit counts, maintaining your status, and attention. Dave\'s a jackass to far too many people to count, and like a long-provoked dog, it\'s biting him on the ass. I\'m sorry he\'s in the middle of a shitstorm, but he\'s been creating it for years, decades even, and now it\'s come back to him.<br><br>If you want nothing but kindness, you must be nothing but kind. That definition has never applied to Dave, at least not on-line.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9634459">\
	 <div id="dsq-comment-header-9634459" class="dsq-comment-header">\
	 <cite id="dsq-cite-9634459" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9634459" href="http://www.exocortex.org/ben" target="_blank" rel="nofollow">Ben Houston</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9634459" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9634459" class="dsq-comment-message">It is my opinion that you Robert Scoble are relatively corrupt with regards to Dave Winer.  You basically owe him a lot for where you are today.  I think that you are willing to bow down and pay him respects when he needs it even if he doesn\'t deserve it.  The Web 2.0 buzz machine is corrupt in this respect.  Your attacks on the new A-list are nothing real, just spin and bs.  I think that your blog clique is trying its best to stick together (whether you have to lie about others to do it or not) because that is where the power comes from -- the synergy.  Anyways, I\'m done following your blog.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9634460">\
	 <div id="dsq-comment-header-9634460" class="dsq-comment-header">\
	 <cite id="dsq-cite-9634460" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9634460">Ethan</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9634460" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9634460" class="dsq-comment-message"><i>I’m staying out of this one.</i><br><br>Previously:<br><br><i>Oh, and the “A” in the “New A List” stands for Attack or, maybe, “Ad Hominem.”</i><br><br>See previous comment. That\'s all I\'ve got for this thread, if for no other reason than it\'s all I need. <i>Flush.</i></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9634461">\
	 <div id="dsq-comment-header-9634461" class="dsq-comment-header">\
	 <cite id="dsq-cite-9634461" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9634461" href="http://www.b5media.com/" target="_blank" rel="nofollow">Jeremy Wright</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9634461" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9634461" class="dsq-comment-message">I\'m not taking sides in this. One time I stood up for Dave (over the closure of the <a href="http://webogs.com" rel="nofollow">webogs.com</a> blogs) and I got attacked from both sides (including Dave) for it.<br><br>I stay away from Dave (or, to quote his post today, I stay away from teh "virtual Dave").<br><br>The guy that walked through the restaurant in Palo Alto seemed like a nice enough guy to me. Maybe one day I\'ll get to meet the "real" Dave. If I do, I hope I can ignore the bad experiences I\'ve had with the "virtual" Dave.<br><br>Either way, good on your for standing up for your friend. And good on you for not getting into the fight. Both great decisions mate :)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9634462">\
	 <div id="dsq-comment-header-9634462" class="dsq-comment-header">\
	 <cite id="dsq-cite-9634462" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9634462" href="http://www.brainjams.org/" target="_blank" rel="nofollow">Chris Heuer</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9634462" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9634462" class="dsq-comment-message">Robert - thank you for trying to raise the quality of the discussion above that of personal attacks.  It is something that has been coming up more and more lately and it is unfortunate.<br><br>We need to set examples for how to deal with this so that the community standards shift from that of name calling and demeaning each other back to reasonable discourse focused on the issues.  I don\'t know if it will ever happen fully, because, as I have said before, there are always going to be assholes out there somewhere shitting on other people.<br><br>As you said, I don\'t know about the facts of the matter here, but this is exactly the sort of issue which is a perfect case study on decorum in the blogosphere and the nature of public disputes.  Because the blog/comment system enables it so easily, we are able to see the long tail of low value commentary much more easily - I dont necessarily think this is an attack mob, though I could see how it would FEEL like one.  I just think that all the people who have felt wronged by Dave in some way are expressing their emotions and frustrations.  Cadenhouse even admits to being an ardent supporter of Dave previously, most likely behaving in the same manner on Dave\'s behalf instead of against him, but I don\'t know those facts - just pointing out the possibility that this is subjective and shifting.<br><br>Of course, that just muddies the waters of the point I am trying to convey.<br><br>The bottom line is that people like yourself have the power to influence a lot of others to refocus the dialogue on the issues rather than resort to name calling.  But its hard, so most people will take the easy way out.  Instead of laying out an argument as to why somebody said or did something wrong, or behaved in a way that is pereceived to be inappropriate, they just call the other party names which is really just like putting some Crisco on that slippery slope...<br><br>I have been trying to make this point for the last several years, but am often dismissed by those who believe in the free form chaos of the Web - by those who say "F___  off - its our Web and we will say what we want".  It is a tough line to manage, because to a degree they are right - free speech means people can and should be able to say what they want.  But when the speech is of such a derogatory nature that it not only prevents the dialogue from moving forward but puts everyone 2 steps back, I don\'t think it plays well.<br><br>We should all learn to be more respectful of each other and to focus our energy on tearing down ideas, not people.  Robert, I hope you are able to move this idea forward better than I have been able to...</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9634463">\
	 <div id="dsq-comment-header-9634463" class="dsq-comment-header">\
	 <cite id="dsq-cite-9634463" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9634463" href="http://www.dahowlett.com" target="_blank" rel="nofollow">dahowlett</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9634463" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9634463" class="dsq-comment-message">There is a much more important issue here. I\'ve read both sides of the \'argument\' and they read like two strangers trying to tell the same story. Both cannot be right.<br><br>There doesn\'t seem to be any basis for agreement. If, as seems the case, this has become a legal wrangle, then the worst possible place to try and rsolve it is in the court of public opinion. And in that sense, I\'d say both sides have made grave errors of judgment. Grays by pushing it into the public domain in the first place and Winer for responding.<br><br>How on earth that mess gets sorted out is anyones guess. The real winners will likely be the lawyers. As usual in he said/he said arguments.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9634464">\
	 <div id="dsq-comment-header-9634464" class="dsq-comment-header">\
	 <cite id="dsq-cite-9634464" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9634464" href="http://spaces.msn.com/members/geekspeaker" target="_blank" rel="nofollow">Jason B.</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9634464" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9634464" class="dsq-comment-message">Hey Robert, This must be pretty personal for you. I don\'t think blogging is the right medium for this type of argument. I don\'t know whether Dave is right on this one or not, but there were some thing which were said that made his character seem a little less good willed or a good person so to speak. I guess business is business, but I think you make a case for dirty business having no place on blogs. I don\'t know if it has anything to do with A lists, or B lists, we all pull our pants up in the morning.<br><br>We have to cherish a world where the inventors are giving some elbow room to do what they do best. The thoughtful ones need not have their thoughts stolen by indecency. However, should the inventing mind move to harm others for personal gain, they stand to face the same punishment that all others would get and deserve to get, I don\'t know whether that\'s public humiliation though, and I don\'t think it has any place in today\'s blogs.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9634465">\
	 <div id="dsq-comment-header-9634465" class="dsq-comment-header">\
	 <cite id="dsq-cite-9634465" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9634465" href="http://nakedconversations.com/" target="_blank" rel="nofollow">shel israel</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9634465" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9634465" class="dsq-comment-message">Robert,<br><br>You taught me to stop blogging when I\'m either depressed or pissed off. I think it\'s time for you to take a break. Just walk away for a while and let the Chihuahuas nip on someone else\'s buttocks for a few days.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9634466">\
	 <div id="dsq-comment-header-9634466" class="dsq-comment-header">\
	 <cite id="dsq-cite-9634466" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9634466" href="http://nakedconversations.com/" target="_blank" rel="nofollow">shel israel</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9634466" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9634466" class="dsq-comment-message">Robert,<br><br>You taught me to stop blogging when I\'m either depressed or pissed off. I think it\'s time for you to take a break. Just walk away for a while and let the Chihuahuas nip on someone else\'s buttocks for a few days.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9634467">\
	 <div id="dsq-comment-header-9634467" class="dsq-comment-header">\
	 <cite id="dsq-cite-9634467" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9634467" href="http://scobleizer.wordpress.com/" target="_blank" rel="nofollow">scobleizer</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9634467" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9634467" class="dsq-comment-message">Chris: I doubt it. Having a Microsoft guy lecture people about what is and isn\'t appropriate on the Web generally is NOT a good way to get mobs to sit down and be quiet! :-)<br><br>Shel: actually, I\'m thinking hard about this. I probably will take a week off.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9634468">\
	 <div id="dsq-comment-header-9634468" class="dsq-comment-header">\
	 <cite id="dsq-cite-9634468" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9634468">Dave</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9634468" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9634468" class="dsq-comment-message">Robert, two thoughts of your\'s spark a reaction in me.<br><br>"Protect the inventor. Protect the guy who brought us SOAP, XML-RPC, RSS, OPML, podcasting, and a few other things here and there....One thing on this case: one guy called in the mob, the other guy didn’t."<br><br>Various words immediately jump to mind. Integrity. Private. Public. Creator. Coder. Agendas.<br><br>Surely you aren\'t implying that Rogers isn\'t due something here. Also, while he may be guilty for taking things public a bit more than many would, it isn\'t exactly like he "called in the mob".<br><br>He was faced with a deadline stated in a very nasty letter sent from Winer\'s lawyer, a letter that resulted from Rogers\' lawyer advising him to not sign an agreement... and decided to make it public.<br><br>The reaction of other bloggers antagonized things to a point of becoming a mob. But no way can you call Rogers\' post "calling in the mob".<br><br>As for that word integrity... and agendas. Every person has an agenda. You. Me. Everyone. But it\'s HOW you work at furthering your agenda that brings up the word integrity. In a direct comparison of these two parties over the last few years, Winer suffers. He posts very inflammatory things then retracts them like they never existed. He doesn\'t allow two-way conversations (your term) by allowing comments on Scripting.Com. He changes definitions of agreements on control of RSS with Harvard.<br><br>These can\'t help but make one wonder what his real agenda is regarding his recent posts of "retiring", this "virtual Dave", and his dealings with Rogers.<br><br>Second quote:<br><br>"No one kept their head — the knives and guns just came out in this street fight. No one called both sides and did some real reporting. No one added any value. "<br><br>[Insert wry laugh here.]<br><br>Sorry about that. Couldn\'t help it - my warped sense of humor combined with my outlook on life and business and overhype.<br><br>Wasn\'t it just about a year ago that the big meme was "citizen journalism"?<br><br>Enough said on that point.<br><br>Look Robert, I applaud you for sticck up for a friend in need. I understand you current anguish on things. And you are right - stay out of it. This isn\'t your fight. Nor mine. Nor, well, anyone except Dave and Rogers.<br><br>Meaning you are also right - others are delighting in meddling in this way more than anyone should feel comfortable about.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9634469">\
	 <div id="dsq-comment-header-9634469" class="dsq-comment-header">\
	 <cite id="dsq-cite-9634469" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9634469" href="http://orcmid.com/blog/" target="_blank" rel="nofollow">orcmid</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9634469" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9634469" class="dsq-comment-message">I agree with Robert sticking to what matters to him.<br><br>With regard to private disputes, they get resolved privately, sometimes with the help of lawyers and judges, but I don\'t any reason to want to vote.  And I feel like I\'m being put in the middle when someone expects me to take sides on something for which I can never know all of the relevant facts.<br><br>I\'ve thought about this, and I think what I will do is stay out of private disputes and also not give any public voice to them if I can help it.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9634470">\
	 <div id="dsq-comment-header-9634470" class="dsq-comment-header">\
	 <cite id="dsq-cite-9634470" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9634470" href="http://www.bivingsreport.com/" target="_blank" rel="nofollow">Todd Zeigler</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9634470" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9634470" class="dsq-comment-message">Blogosphere is plagued by a lot of folks looking for negative attention - 3rd graders acting up in class to get people to notice.<br><br>See it for what it is and avoid the pissing matches.  Engage with the people who disagree with you intelligently and ignore the name callers. I think you\'ve inspired a lot of people (the silent majority).</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9634471">\
	 <div id="dsq-comment-header-9634471" class="dsq-comment-header">\
	 <cite id="dsq-cite-9634471" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9634471" href="http://acidzebra.blogspot.com/" target="_blank" rel="nofollow">Michiel</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9634471" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9634471" class="dsq-comment-message">blog rule #1: anyone proclaiming he\'s A-list more than once a week: IS NOT A-LIST. In fact, anyone still dividing the blogs in the net is definitely not a-list. I move we scrap the whole a-list meme; it\'s gotten boring. Also: Dave REALLY should step back. And anyone working at MS should NEVER get involved in a discussion about web standards: god knows MS has done their best to kill any open standard. HTML, Java, or maybe you want to talk about the cross-platform capability of activeX? oh, right, THERE IS NONE.<br><br>RSS is already out there. It works. Extensions work. Since this BS surfaced I suddenly understand and sympathise with Atom, which I never got. The clue: all these people know and worked with Dave. And THAT\'s why they split.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9634472">\
	 <div id="dsq-comment-header-9634472" class="dsq-comment-header">\
	 <cite id="dsq-cite-9634472" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9634472" href="http://scobleizer.wordpress.com/" target="_blank" rel="nofollow">scobleizer</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9634472" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9634472" class="dsq-comment-message">Michiel: who cares who is on the A list anyway. It doesn\'t mean anything. It hasn\'t made me wealthier. Or better looking.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9634473">\
	 <div id="dsq-comment-header-9634473" class="dsq-comment-header">\
	 <cite id="dsq-cite-9634473" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9634473">Dave</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9634473" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9634473" class="dsq-comment-message">Something completely OT, but maybe it really isn\'t since this is an example of all that is good about blogging:<br><br>From a blog I only discovered recently: <a href="http://www.badastronomy.com/bablog/2006/03/16/new-wmap-results-quantum-fluctuations-galaxies-and-the-first-stars/" rel="nofollow">New WMAP results: quantum fluctuations, galaxies, and the first stars</a><br><br>Fascinating!<br><br>How did I discover it? <a href="http://scobleizer.wordpress.com/2006/03/05/the-john-dvorakification-of-the-blogosphere-im-signing-off-of-memeorandum/" rel="nofollow">Robert</a> posted a link to a <a href="http://www.bloglines.com/blog/AlexFeldstein?id=624" rel="nofollow">blog</a> that link to this <a href="http://www.badastronomy.com/bablog/" rel="nofollow">blog</a>.<br><br>Again, could be OT, but everything that IS good about living in these times!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9634474">\
	 <div id="dsq-comment-header-9634474" class="dsq-comment-header">\
	 <cite id="dsq-cite-9634474" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9634474">Anonymous</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9634474" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9634474" class="dsq-comment-message">It\'s so depressing to see people I admire in conflict. We should all have tried to pay more attention to Mena Trott\'s message.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9634475">\
	 <div id="dsq-comment-header-9634475" class="dsq-comment-header">\
	 <cite id="dsq-cite-9634475" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9634475" href="http://www.bynkii.com/" target="_blank" rel="nofollow">John C. Welch</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9634475" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9634475" class="dsq-comment-message">Robert,<br><br>If you didn\'t care about the A-List, and being on it, you would talk FAR more often about stuff that isn\'t blogging. Your own orbit around the subject casts severe doubt on your claims of "not caring about the A-List".</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9634476">\
	 <div id="dsq-comment-header-9634476" class="dsq-comment-header">\
	 <cite id="dsq-cite-9634476" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9634476" href="http://scobleizer.wordpress.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9634476" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9634476" class="dsq-comment-message">John: at some point I did care. Lately, though, I\'ve become convinced it just isn\'t something worth getting onto and, if you are on, staying on. All it does is generate email from marketers trying to get you to talk about their products and you get lots of people in your comments telling you what a jerk you are.<br><br>Wheee, yes sirrreeee. I\'m having fun now!<br><br>Not. Which is why I\'m gonna take some time off and hang with my wife. Have fun!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9634477">\
	 <div id="dsq-comment-header-9634477" class="dsq-comment-header">\
	 <cite id="dsq-cite-9634477" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9634477" href="http://blog.eronj.com/" target="_blank" rel="nofollow">Ron K. Jeffries</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9634477" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9634477" class="dsq-comment-message">Robert,<br><br>Your points are well taken. But<br>just because someone (Dave W.) is<br>your friend doesn\'t mean they are<br>incapable of doing something REALLY<br>dumb.<br><br>In this case, Dave W. has gone<br>to the mat against Roger C., a guy<br>who has been a strong and vocal supporter of Dave W when others<br>were less generous.<br><br>Being extremely smart and creative<br>(as Dave W absolutely is) doesn\'t<br>give them license to be vindictive.<br><br>I don\'t know Dave except through his writings. I see two Daves, as someone pointed out. One is your friend,<br>and he\'s a GREAT, witty and funny guy.<br><br>It\'s the "other" Dave people are jumping on.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9634478">\
	 <div id="dsq-comment-header-9634478" class="dsq-comment-header">\
	 <cite id="dsq-cite-9634478" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9634478">kr8tr</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9634478" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9634478" class="dsq-comment-message">Robert,<br><br>  I have to agree with you that people are being viscous in the attack against Dave.  But let\'s face it - Dave is a genious, AND he is an asshole.  I respect Dave, I don\'t bash him, and I DO NOT like him.  But I read him every day.  Because I respect him.<br><br>  Wnhy is he an asshole?  Because he bought into who "Dave" is.  He bought the hype, he turned the corner, and now it\'s not primatrily what Dave can do for us, but what can Dave do that makes him look good to us.<br><br>  Harsh.<br><br>  Yep.<br><br>  But then so is this recent email exchange (taken from memory, but I know Dave can pull up the origionls out of his RSS/OPML history from hell.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9634479">\
	 <div id="dsq-comment-header-9634479" class="dsq-comment-header">\
	 <cite id="dsq-cite-9634479" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9634479" href="http://scobleizer.wordpress.com/" target="_blank" rel="nofollow">scobleizer</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9634479" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9634479" class="dsq-comment-message">Ron: let the first one among you who haven\'t done anything dumb throw the first flame! :-)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9634480">\
	 <div id="dsq-comment-header-9634480" class="dsq-comment-header">\
	 <cite id="dsq-cite-9634480" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9634480">kr8tr</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9634480" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9634480" class="dsq-comment-message">Robert,<br><br>  I have to agree with you that people are being viscious in the attack against Dave.  But let\'s face it - Dave is a genious, AND he is a complete asshole. OK - he bought your kids a computer - maybe if he bought mine one, I would be more obliging to him. I respect Dave, I don\'t bash him, but I DO NOT like him.  But I read him every day.  Because I respect him.<br><br>  Wnhy is he an asshole?  Because he bought into who "Dave" is.  He bought the hype, he turned the corner, and now it\'s not primatrily about what Dave can do for "us", but what can Dave do that makes him look good to "us".  "He" is "them".  And we are all afraid of "them".  Dave *IS* and ass (and I bet he even realizes it on occasion).<br><br>  Harsh.<br><br>  Yep.<br><br>  But then so is this recent email exchange (taken from memory, but I know Dave can pull up the origionls out of his RSS/OPML history from hell).<br><br>I told Dave I like reading his TECHNICAL blog entries, but not his personal or political ones.  I asked him if he would consider making a second blog for non tech stuff.  His response?  Basically it was: "Fuck no, never".  Not "thanks for reading", not "I understand we have a difference of opinion", NOT any sign that I was a SIGNIFICANT person to him - I\'m not.  And that\'s why Dave needs to shut the hell up - he no longer (if he ever did) talks for the user, the guy on the line, the gal at the help desk.  Dave talks to and for Dave.  Dave is a narcissist.  Really.  Argue if you will - I\'ve known lots of them<br><br>Now that is fine - it\'s his blog, and he is free to do what he wants with it - but when he treats people like they are less than people, then he becomes less than a person to me.  And when that happens he loses respect, and those that still respect him also lose respect.  You are the people you associate with.<br><br>Bottom line.  Dave DOES need to quit blogging.  He is either too bitter, or too stuck on himself to add any real value anymore beyong writing new specifications (please keep doing that).  But please - DO NOT think you are my voice, or that I care what you think anymore - you\'ve burned that bridge Dave, and not just with me.  Perhaps, finally, you\'ve burned too many bridges.<br><br>And this isn\'t even about the law suit challenge - it\'s about who Dave was ten years ago, and what Dave THINKS he is today.  Ten years ago, he was a better Dave.<br><br>Anyway, that\'s my rant.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9634481">\
	 <div id="dsq-comment-header-9634481" class="dsq-comment-header">\
	 <cite id="dsq-cite-9634481" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9634481">Christopher Coulter</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9634481" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9634481" class="dsq-comment-message"><i>generate email from marketers trying to get you to talk about their products</i><br><br>I thought that was all aparta the \'naked conversations\'. I think someone wrote a book on that.<br><br><i>lots of people in your comments telling you what a jerk you are.</i><br><br>Can\'t stand the heat, get outta the kitchen. So all blogs are good for be marketing spam and "hate" commenters? Even I won\'t go that far. Burnout gone to your head, it happens. Stop taking it all so seriously, you point-blank asked for the marketing, and comments are half community-theater performances.<br><br>Thick skin, thick skin. It got you conference travel miles serious, various other random junkets, freebies, money, power, a coolish (tho inept) shaky-cam Microsoft jobbie, that\'s all gravy. O frabjous day! Callooh! Callay! The petty blog wars, be not your fight.<br><br>All mimsy were the blogrogoves, and the mome commentraths outgrabe.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9634482">\
	 <div id="dsq-comment-header-9634482" class="dsq-comment-header">\
	 <cite id="dsq-cite-9634482" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9634482" href="http://franklinmint.fm/" target="_blank" rel="nofollow">Robert Sayre</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9634482" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9634482" class="dsq-comment-message">Scoble, I think you are right, and your post resonated with me. You can hit my blog if you want to read more.<br><br>Feel better.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9634483">\
	 <div id="dsq-comment-header-9634483" class="dsq-comment-header">\
	 <cite id="dsq-cite-9634483" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9634483">anon</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9634483" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9634483" class="dsq-comment-message"><i>My philosophy? I want better software. More software. More geek toys. More things that improve my life.</i><br><br>And yet you take money from and defend your convicted monopolist felon employer.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9634484">\
	 <div id="dsq-comment-header-9634484" class="dsq-comment-header">\
	 <cite id="dsq-cite-9634484" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9634484" href="http://drumsnwhistles.com/" target="_blank" rel="nofollow">DrumsNWhistles</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9634484" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9634484" class="dsq-comment-message">I read many of the so-called A-listers\' blogs because I am a geek at heart and find them interesting.  I don\'t belong to the club, but I\'m familiar with the players.  As a person who has been involved in community for many years, I know that flame wars are part of online life and can flare up, even between good friends.<br><br>I also know that whatever the real story is, it isn\'t all out on the blogs.<br><br>I don\'t understand why anyone would publish a lawyer\'s letter on their site and I don\'t understand why people think that airing dirty laundry in public is a good thing.  It\'s a little like watching your friends go through a sloppy, ugly divorce.  You hate to see it happen but dont\' seem to get away from it.<br><br>Sites like Tailrank and Memeorandum just drag it out longer.<br><br>I read the comments on <a href="http://cadenhead.org" rel="nofollow">cadenhead.org</a> and had the same reaction as you.  There were far too many ad hominem attacks, similar to the one on you and Microsoft just above mine.  It does nothing to further the conversation and the conversation itself is one that would best be held in private without the rest of us participating.<br><br>I hope that happens, because what I want to read about is all the cool things coming for geeks like me, not personal and/or business disputes between the "players".<br><br>I hope you feel better soon.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9634485">\
	 <div id="dsq-comment-header-9634485" class="dsq-comment-header">\
	 <cite id="dsq-cite-9634485" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9634485" href="http://technovia.typepad.com/" target="_blank" rel="nofollow">Ian Betteridge</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9634485" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9634485" class="dsq-comment-message">"No one called both sides and did some real reporting"<br><br>That\'s right, Robert. Why should they? There\'s no money in it.<br><br>The difference between "professional journalism" and "citizen journalism" comes down to money, because money makes it possible for someone to concentrate time and resources on a story. A professional journalist covering this would ring Dave, ring Rogers, do some digging, get to the bottom of it. Someone who doesn\'t have the time because they\'re not being paid to do it won\'t do it.<br><br>"One thing on this case: one guy called in the mob, the other guy didn’t. That says volumes to me."<br><br>That\'s actually a bit rich. There have been plenty of occasions in the past when Dave has "called in the mob" as you put it. And posting a threatening legal letter - which is what Rogers did - is pretty much standard practice on the internet these days.<br><br>At the end of the day, Robert, THIS is the wisdom of crowds that many folks, including you, have been talking about. Crowds become lynchmobs and witch hunts at the drop of a hat, and the internet amplifies that. Anyone who\'d ever done researching into the psychology of crowd behaviour could have explained this - but instead, a band of techno-utopians somehow thought that crowds on the internet would act differently to other crowds.<br><br>The only time that crowds become wise is when they\'re mediated through money: Markets, not crowds, are never wrong.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9634486">\
	 <div id="dsq-comment-header-9634486" class="dsq-comment-header">\
	 <cite id="dsq-cite-9634486" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9634486" href="http://technovia.typepad.com/" target="_blank" rel="nofollow">Ian Betteridge</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9634486" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9634486" class="dsq-comment-message">Incidentally, Robert, as you\'re his friend it might be worth reading Rogers\' comment (<a href="http://www.cadenhead.org/workbench/news/2881/letter-dave-winers-attorney#46443" rel="nofollow">http://www.cadenhead.org/workbench/news/2881/le...</a>) where he explains why he didn\'t sign the contract that Dave offered. If you could get that message through to Dave, it might help to clear up this mess.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9634487">\
	 <div id="dsq-comment-header-9634487" class="dsq-comment-header">\
	 <cite id="dsq-cite-9634487" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9634487" href="http://www.wiredgc.com/" target="_blank" rel="nofollow">John</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9634487" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9634487" class="dsq-comment-message">Right on.<br><br>My thoughts in visual form:<br><br><a href="http://www.toothpastefordinner.com/030806/internet-fantasy.gif" rel="nofollow">http://www.toothpastefordinner.com/030806/inter...</a></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9634488">\
	 <div id="dsq-comment-header-9634488" class="dsq-comment-header">\
	 <cite id="dsq-cite-9634488" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9634488" href="http://www.bynkii.com/" target="_blank" rel="nofollow">John C. Welch</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9634488" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9634488" class="dsq-comment-message">Robert, please. Half, if not three-quarters of your value to Microsoft comes from this blog.<br><br>Otherwise, you\'re just a division evangelist doing happy little internal videos for internal marketing.<br><br>Like it or hate it, this blog is what makes your value.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9634489">\
	 <div id="dsq-comment-header-9634489" class="dsq-comment-header">\
	 <cite id="dsq-cite-9634489" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9634489">Big Deal Not?</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9634489" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9634489" class="dsq-comment-message"><a href="http://www.wired.com/wired/archive/9.05/winer_pr.html" rel="nofollow">http://www.wired.com/wired/archive/9.05/winer_p...</a><br><br>"He can\'t apply the same standards to himself that he applies to others," says humorist and programmer Greg Knauss, who last year created the WinerLog parody site (since taken over by a much angrier and less funny group of contributors who write under the collective name Zaphod). "He\'ll launch into people really hard, doing over-the-top, needless stuff, like posting sexual slurs about Rogers Cadenhead when they disagreed, but then he says there is to be no flaming on his own site." Cadenhead, the author of best-selling books on Java programming and other software topics, disagreed with Winer over the propriety of the Third Voice site-editing technology; Winer responded by pointing to a childhood picture of Cadenhead on the author\'s site and writing, "See the little boy? Want to have sex with him?"<br><br>Did Dave ever apologize publicly for this? I think not.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9634490">\
	 <div id="dsq-comment-header-9634490" class="dsq-comment-header">\
	 <cite id="dsq-cite-9634490" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9634490" href="http://www.nbwheeling.org/~aball" target="_blank" rel="nofollow">Adam</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9634490" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9634490" class="dsq-comment-message">Scoble, I read your blog for the tech.  Your purpose as you stated is to show new, cool stuff that makes your life better.  Please keep that up.<br><br>People will always get into pissing matches.  What\'s the best thing to do?  Stay on the sidelines.  Don\'t get involved.  If you keep showing off the cool stuff and are honest about it, it works itself out.<br><br>Really appeciate the tech that you have shown off.  Most of my friends are amazed at what I pass along to them from this blog.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9634491">\
	 <div id="dsq-comment-header-9634491" class="dsq-comment-header">\
	 <cite id="dsq-cite-9634491" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9634491" href="http://vision.p0mi.com/" target="_blank" rel="nofollow">Dan</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9634491" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9634491" class="dsq-comment-message">It seems rather presumptuous to assume any responsibility for the blogosphere at large.  If not for you some other schmuck would have arisen in your stead, and after you leave a thousand more will jockey for your place on the list.<br><br>Given the sheer number of people who Mr. Winer has wounded and enraged, I can\'t help wondering if all of them can really be in the wrong or if the blame more likely rests on the one person whom they have in common.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9634492">\
	 <div id="dsq-comment-header-9634492" class="dsq-comment-header">\
	 <cite id="dsq-cite-9634492" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9634492">Ross</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9634492" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9634492" class="dsq-comment-message">"Winer responded by pointing to a childhood picture of Cadenhead on the author’s site and writing, “See the little boy? Want to have sex with him?”"<br><br>WTF?!?! What the hell did he hope to achieve by doing that? Robert, if you are truly his friend, and I suspect you are - take him to get therapy.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9634493">\
	 <div id="dsq-comment-header-9634493" class="dsq-comment-header">\
	 <cite id="dsq-cite-9634493" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9634493" href="http://www.bynkii.com/" target="_blank" rel="nofollow">John C. Welch</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9634493" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9634493" class="dsq-comment-message">It\'s just Dave. You should have heard the stream of hate when Apple didn\'t make Frontier the language for Apple Events.<br><br>It\'s like this...Dave can say whatever Dave wants because Dave is always right.<br><br>If you\'re not Dave, then shut up, and live with that inferior state, quietly, so you don\'t disturb Dave and the greatness that is Dave.<br><br>He may be MUCH different in person, but on line? That\'s Dave. ANd if he IS much different in person, that\'s actually worse, because then it\'s just Internet Balls</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9634494">\
	 <div id="dsq-comment-header-9634494" class="dsq-comment-header">\
	 <cite id="dsq-cite-9634494" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9634494">Karim</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9634494" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9634494" class="dsq-comment-message">You can only take the "protect the inventor" thing so far.  If Thomas Alva Edison had gone on a killing spree and had been caught red-handed, OF COURSE he\'d say, "I\'m *Edison,* I invented the *lightbulb,* you can\'t touch meeee!!!"<br><br>And he would have gone to the gas chamber anyway.<br><br>(And ironically, the gas chamber would have been lit with electric light bulbs.)<br><br>I understand you want to stick up for your friend, too.  That\'s natural.<br><br>But look at the pingback Dave Winer gave you on this post (comment 40).  "Scoble laments all the flamers in the thread on Rogers Cadenhead’s site, but isn’t it obvious that the purpose of his post was to get a flamewar going?"<br><br>Dude.<br><br>You\'re apparently one of his few allies and supporters, and when you write a post *supporting* him, calling him a great inventor and personal friend, he accuses you of WANTING TO START A FLAMEWAR.  He accuses you of *betraying* him.<br><br>Maybe that should tell you something?<br><br>"No one called both sides and did some real reporting?"  You\'re friends with Winer, and can probably get a hold of Cadenhead.  Talk to both of them for 10 minutes and do some real reporting on your blog.  Stop cursing the darkness and light a candle.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9634495">\
	 <div id="dsq-comment-header-9634495" class="dsq-comment-header">\
	 <cite id="dsq-cite-9634495" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9634495" href="http://robfay.com/" target="_blank" rel="nofollow">Rob Fay</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9634495" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9634495" class="dsq-comment-message">Although we embrace the social software scene, collaborative sites, email, im, and the like, none of these tools replaces face-to-face communciation.<br><br>Sure, it brings our world closer together.  I get to connect with like-minded people who I wouldn\'t be able to meet otherwise.  However, how often are the people you "met" online identically the same as when you finally get to meet them in person.<br><br>We have a long way to go because although electronic tools for communciation becomes more sophisticated, it still complicates the simplicity of face-to-face communication.<br><br>Sure, in Geekdom, I\'m sure some of us communicate more effectively via a keyboard and computer monitor rather than meeting face-to-face, but that\'s a poor excuse.<br><br>In the case with Winer and Cadenhead, I really cannot comment because I was not privy to the details.  What I can say, however, is that if they are, indeed, friends, then they would have found a way to bridge the miscommunication.  Winer has a habit of coming across in a negative fashion.  Not everyone has a stellar personality, and for others, it comes across even worse in this environment if we are not good communicators to begin with.<br><br>These \'A\'-listers ar no different than the old school folks, except that now there\'s many more people participating in this digital-social-communication medium.<br><br>Perhaps we should heed our mother\'s advice ("if you cannot say anything nice...") by following the following social rule:<br><br><em>Blogger Rule #1: Only write what you would tell your audience (whether it be one or many) in a face-to-face encounter</em><br><br>And for Pete\'s sake, leave the adolescent bitchfest out of the blogosphere.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9634496">\
	 <div id="dsq-comment-header-9634496" class="dsq-comment-header">\
	 <cite id="dsq-cite-9634496" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9634496">Scott Magoon</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9634496" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9634496" class="dsq-comment-message">Karim, it looks to me that when Dave says "his post" in that context he is referring to Roger Cadenhead, not Scoble, as wanting "to get a flamewar going."</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9634497">\
	 <div id="dsq-comment-header-9634497" class="dsq-comment-header">\
	 <cite id="dsq-cite-9634497" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9634497" href="http://categorystrategy.com/" target="_blank" rel="nofollow">Scott Magoon</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9634497" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9634497" class="dsq-comment-message">Robert, not to change the subject from all this fun, but have a nice weekend.  Although it looks like rain is on the forecast for Seattle.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9634498">\
	 <div id="dsq-comment-header-9634498" class="dsq-comment-header">\
	 <cite id="dsq-cite-9634498" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9634498">Karim</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9634498" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9634498" class="dsq-comment-message">Scott -- you\'re right, it looks like Winer might be referring to Cadenhead as wanting to start a flamewar.  I think it\'s a little ambiguous, as I thought the subject was *Scoble\'s* lament, but it makes more sense that Winer would think *Cadenhead* was trying to start a flamewar.<br><br>If, in fact, THAT makes any sense.  The replies to Cadenhead\'s post look like about 500 people all going "YEAH!!!  WINER\'S AN ASS!!!" in *unison*.  Which isn\'t pretty, but still, I thought for a flamewar there had to be some *disagreement.*<br><br>Just goes to show you how these things can get easily misunderstood...?<br><br>Thanks for pointing that out.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9634499">\
	 <div id="dsq-comment-header-9634499" class="dsq-comment-header">\
	 <cite id="dsq-cite-9634499" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9634499" href="http://www.reallifenews.com/" target="_blank" rel="nofollow">DavidM</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9634499" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9634499" class="dsq-comment-message">It\'s the same for TV, press and blogs - if it sells people will write it.<br><br>As much as we may dislike it, the mob loves a hunt, and all of us find it irresistible sometimes.<br><br>The worst thing you can do is give it more attention and that\'s what you\'ve just done.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9634500">\
	 <div id="dsq-comment-header-9634500" class="dsq-comment-header">\
	 <cite id="dsq-cite-9634500" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9634500">Dave</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9634500" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9634500" class="dsq-comment-message">Just to present one point - not in Dave\'s favor - in an argument that seems fated for a public smackdown.<br><br>Scoble: "No one added any value."<br><br>mcdmcblog (comment #15: "I do think you for allowing comments on the situation. I do not have the ability to comment at Dave’s site.".<br><br>Scripting.Com post today, obviously referring to things: "People who doubt that thoughtful discourse is possible in the blogosphere, need only look...."<br><br>My main beef with Scripting.Com is just that. "thoughtful discourse". "citizen journalism". "allowing comments".<br><br>Until Dave can act like a proper "citizen" journalist....meaning allowing conversation and also not posting vindictively and then pulling said posts... he\'ll fail to win my vote on credability. He\'ll always cause me to wonder why (a) he is being maligned and (b) what his agenda is about with the words he\'ll allow to stay public on Scripting.Com.<br><br>Robert, this is not said as "mob mentality" or "ad hominem" in Dave\'s direction in any way. Rather, it\'s a judgement long in making since 2000, and it\'s a judgement based on understanding how things work in this world.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9634501">\
	 <div id="dsq-comment-header-9634501" class="dsq-comment-header">\
	 <cite id="dsq-cite-9634501" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9634501" href="http://iface.wordpress.com/" target="_blank" rel="nofollow">Abhijit Nadgouda</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9634501" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9634501" class="dsq-comment-message">You hit the nail in the head! We are skilled at using constructive tools for destruction.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9634502">\
	 <div id="dsq-comment-header-9634502" class="dsq-comment-header">\
	 <cite id="dsq-cite-9634502" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9634502" href="http://jackyan.com" target="_blank" rel="nofollow">Jack Yan</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9634502" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9634502" class="dsq-comment-message">Robert, stick with your principles. I applaud you. I’m surprised that the blogosphere, still relatively new given that I am still asked what a blog is, has bred so much cat-&#64257;ghting. Particularly as many bloggers are educated people. Maybe it’s the fatigue talking, but I remember the World Wide Web being more civilized at the same point in its history.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9634503">\
	 <div id="dsq-comment-header-9634503" class="dsq-comment-header">\
	 <cite id="dsq-cite-9634503" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9634503" href="http://www.orangeblog.net/" target="_blank" rel="nofollow">orangeguru</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9634503" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9634503" class="dsq-comment-message">Buhuhu. Bad people are taking over the world. The revolution eats one of it\'s inventors. Maybe the first homo bloggies are simply burned out and have to move aside?<br><br>Of course there is a lot of crap out there and people attacking people. But that\'s fairly human - isn\'t it. Maybe the founding geek bloggers have finally to realize that NORMAL people and social behaviour has caught up with them?<br><br>This is developing into a trauma - very similar to old internet farts talking about the beginnings of usenet or compuserve ... the days before mainstream happened.<br><br>The \'golden age\' of blabla a purely \'educated\' geek flame wars. Yeah, sure! Dream on ...</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9634504">\
	 <div id="dsq-comment-header-9634504" class="dsq-comment-header">\
	 <cite id="dsq-cite-9634504" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9634504">JJ</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9634504" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9634504" class="dsq-comment-message">People are people .. everywhere.  Dave W. has left a long streak of angry, disappointed or bemused people behind him .. and if you read his posts over time and watch how he uses language .. he baits, he provokes, he says snide and catty things about other people often, using passive / aggressive syntax and sentence construction.<br><br>If there were only one or two *documented* instances of a**holishness, that would be one thing .. but there are more than one or two, and over a reasonably impressive time period ...<br><br>He must have been deeply hurt by having been ignored or not heard at an early stage in his life .. that\'s all I can imagine ...</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9634505">\
	 <div id="dsq-comment-header-9634505" class="dsq-comment-header">\
	 <cite id="dsq-cite-9634505" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9634505" href="http://www.orangeblog.net/" target="_blank" rel="nofollow">orangeguru</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9634505" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9634505" class="dsq-comment-message">@JJ: <em>People are people .. everywhere. Dave W. has left a long streak of angry, disappointed or bemused people behind him ...</em><br><br>Maybe so. But was anyone ever forced to read his blog? And is anyone forced to read this new A-List Assault Teams? No. Most of this stuff is just opinions ... so we can choose to get excited or aggravated about them.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9634506">\
	 <div id="dsq-comment-header-9634506" class="dsq-comment-header">\
	 <cite id="dsq-cite-9634506" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9634506" href="http://jackyan.com" target="_blank" rel="nofollow">Jack Yan</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9634506" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9634506" class="dsq-comment-message">Orangeguru (no. 74) has a point, but I felt I expressed it better. Just kidding. My real message: the sad thing is that it has taken a shorter amount of time for the nutters to begin blogging. I wonder if that means society is getting worse, or whether that’s merely a consequence of technology being available to more people. Maybe both. But if it’s the former, it would be awfully nice to think we could do something about it.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9634507">\
	 <div id="dsq-comment-header-9634507" class="dsq-comment-header">\
	 <cite id="dsq-cite-9634507" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9634507" href="http://www.successful-blog.com/" target="_blank" rel="nofollow">Liz Strauss</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9634507" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9634507" class="dsq-comment-message">How to participate by not participating. . . .</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9634508">\
	 <div id="dsq-comment-header-9634508" class="dsq-comment-header">\
	 <cite id="dsq-cite-9634508" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9634508" href="http://techrepublic.com.com/5247-6257-0.html" target="_blank" rel="nofollow">v((aspers th&#39; gr]*ate</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9634508" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9634508" class="dsq-comment-message">hooray for blogocombat!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9634509">\
	 <div id="dsq-comment-header-9634509" class="dsq-comment-header">\
	 <cite id="dsq-cite-9634509" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9634509" href="http://www.instabloke.com/" target="_blank" rel="nofollow">Blog Bloke</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9634509" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9634509" class="dsq-comment-message">I\'ll be frank Robert. Most of us are sick and fed up with the Scobles and Winers labeling themselves as the cream of the blogosphere. A cut above the rest of us. The blue-bloods of blogdome that the rest of us mere mortals should grovel and "suck up" to.<br><br>What do you expect when you create a class system like that? Of course the \'peasants\' are going to throw tomatoes and yell "off with his head". It\'s human nature.<br><br>Sorry for being the bearer of bad news my friend but here is my advice. Both yourself and Dave and the rest of the rabble should cut the bullshit "A-List" conflab and don\'t take yourself so seriously. Because believe it or not -- most of us don\'t.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9634510">\
	 <div id="dsq-comment-header-9634510" class="dsq-comment-header">\
	 <cite id="dsq-cite-9634510" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9634510" href="http://omniverse.blogspot.com/" target="_blank" rel="nofollow">Omni</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9634510" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9634510" class="dsq-comment-message">Here\'s an objective outsider\'s take on this, for what it\'s worth:<br><br>It doesn\'t matter who likes who, who has how many friends or enemies, who did what to who in the past, or who did or said what outside of the public eye;  the case has to be judged by what was done publicly in connection with this specific incident if we want to see who\'s in the wrong in this case.<br><br>Something I\'ve found to be invariably true is this;  a good, decent person never, ever, EVER shares private correspondence without the clear permission of all parties.  NEVER.  Someone who\'d put a private letter in a totally public forum, aimed at an audience who any moron would know would react viciously towards the source of the letter, and such that said source will be sure to see said reaction, is FAR from being a saint;  this is a calculatedly evil act, and, regardless of how much the letter-sharer was provoked, it\'s absolutely inexcusable and puts them 100% in the wrong for this particular altercation.<br><br>Perhaps Dave Winer is an objectively bad person;  just be aware that Rogers Cadenhead has shown that he isn\'t any better.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9634511">\
	 <div id="dsq-comment-header-9634511" class="dsq-comment-header">\
	 <cite id="dsq-cite-9634511" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9634511">Frank N. Stein</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9634511" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9634511" class="dsq-comment-message">It\'s alive, it\'s alive, it\'s the blogosphere.<br>You have built the perfect blog here Scoble.<br>You have given me a reason to live and I can\'t stop blogging and reading your genius marketing ideas.  I require more software to reach the next vista of geek uniformity and enslave the dumb serfs.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9634512">\
	 <div id="dsq-comment-header-9634512" class="dsq-comment-header">\
	 <cite id="dsq-cite-9634512" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9634512" href="http://alierra-software.com/" target="_blank" rel="nofollow">Helen, software developer</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9634512" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9634512" class="dsq-comment-message">I think that what you\'ve described is an ordinary life situation. In the blogosphere there are the same people as in real life and you can\'t change them.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9634513">\
	 <div id="dsq-comment-header-9634513" class="dsq-comment-header">\
	 <cite id="dsq-cite-9634513" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9634513" href="http://niemachujanamariolke.com/xvv" target="_blank" rel="nofollow">mambo italianoxvv</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9634513" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9634513" class="dsq-comment-message">Eddie800 <a href="http://frogger.com/" rel="nofollow">poker</a>xvv</div>\
	 </div>\
	 </li>\
	 </ul>\
';

(function() {
	
	





Dsq.Debug.profile(function() {
	if(Dsq.jsonData.request.page == 1 && Dsq.jsonData.request.is_initial_load) {
		Dsq.container.innerHTML = Dsq.Templates.header() + Dsq.container.innerHTML + Dsq.Templates.footer();
	}
	Dsq.$(Dsq.curPageId).innerHTML = Dsq.$(Dsq.curPageId).innerHTML.replace(Dsq.COMMENTS_RE, Dsq.CommentsHandler);
}); // Dsq.Debug.Profile

// HACK: Resetting cache because we're done with.
Dsq.Utils.gebiFromElementCollectionCache = null;


	
	
	var dsq_styleEl = document.getElementById(disqus_container_id);
	var dsq_anchorEl = document.getElementsByTagName('a')[0];
	
	Dsq.Thread.fc = Dsq.Utils.getStyle(dsq_styleEl, 'color');
	if(dsq_anchorEl) { Dsq.Thread.ac = Dsq.Utils.getStyle(dsq_anchorEl, 'color'); }
	Dsq.Thread.ff = Dsq.Utils.getStyle(dsq_styleEl, (Dsq.Utils.ie || window.opera ? 'fontFamily' : 'font-family'));
	// For Safari / Opera: strip quotes.
	Dsq.Thread.ff = Dsq.Thread.ff.replace(/['"]/g, '');
	Dsq.Thread.fc = encodeURIComponent(Dsq.Thread.fc);
	Dsq.Thread.ac = encodeURIComponent(Dsq.Thread.ac);
	Dsq.Thread.ff = encodeURIComponent(Dsq.Thread.ff);

	
	
	
	if(Dsq.$(Dsq.Templates.addPostContainer)) {
		// TODO: Check to see if theme uses postmessage.
		if (window.disqus_use_postmessage) {
			Dsq.frames['reply_0'] = new Dsq.ReplyFrame(Dsq.$(Dsq.Templates.textareaContainer));
			Dsq.frames['reply_0'].init(function() {
				// Use fallback iframe
				Dsq.$(Dsq.Templates.addPostContainer).innerHTML = '';
				var theme = (typeof disqus_frame_theme == 'undefined') ? 'default' : disqus_frame_theme;
				Dsq.Iframes.showReplyIframeInContainer(Dsq.$(Dsq.Templates.addPostContainer), null, {theme: theme});
				// if(Dsq.Utils.ie) { Dsq.Utils.fixIframesIE(); }
			});
		} else {
			// DEPRECATED
			Dsq.Iframes.showReplyIframeInContainer(Dsq.$('dsq-post-add'));
		}
	}

	
	

	
	if(document.location.hash != '') {
		document.location.hash = document.location.hash.substring(1);
	}

	Dsq.Popup.showCookieMsgs();

	
	if(document.location.search != '' && location.hash != '#disqus_thread') {
		var reply_id = Dsq.Utils.getRequestParams().dsq;
		if(reply_id) { document.location.hash = 'comment-' + reply_id; }
	}

	
	if((typeof OB_Script != 'undefined') && (typeof OB_versionNum != 'undefined')) {
		if(navigator.userAgent.indexOf("Firefox") != -1) {
			if(window.frames['dsq-reply-frame']) {
				window.frames['dsq-reply-frame'].location = Dsq.Urls.REPLY + (new Date()).getTime() + '&f=scobleizer&t=the_new_a_list&to_redirect=' + encodeURIComponent(window.location) + '&ifrs=' + encodeURIComponent(disqus_iframe_css);
			}
		}
	}

	if (Dsq.jsonData.integration.theme == 4) {
		if (Dsq.jsonData.realtime_enabled) {
			Dsq.Realtime.initialize();
		}
	}

	



	window.ExecuteWhen = (function () {
	var obj = {}
	
	// Private
	var running = false;
	var timer = null;
	var pending = [];
	var startTimer = function() {
		running = true;
		timer = setInterval(obj.heartBeat, 100);
	};
	var stopTimer = function() {
		running = false;
		clearInterval(timer);
	};
	
	// Public
	obj.add = function (condition, code) {
		pending.push([condition,code]);
		this.heartBeat(); //!
		if (!running) {
			startTimer();
		}
	};
	obj.heartBeat = function() {
		if (!pending.length) {
			stopTimer();
		}
		var newPending = [];
		for (var i=0; i<pending.length; i++) {
			var cond = pending[i][0];
			var code = pending[i][1];
			// FIXME: if cond or code throw an error, they never get removed from pending
			if (cond()){
				code();
			}
			else {
				newPending.push([cond, code]);
			}
		}
		pending = newPending;
	};
	return obj;
})();

// also used in embed_thread.js:
window.fbIsReady = function () {return window.FB && FB.init;};
// NOTE: This script gets executed again without threadEl
//       set when we are loaded again as the fbc_receiver.
//       In this case, we don't need the hidden container.

if(!window.FB || !FB.init) {
	if(window.Dsq && Dsq.container) {
		// container is not present when init.js is loaded from an xd-receiver iframe; in this case,
		// we don't need the FB_HiddenContainer anyway.
		var fbDiv = document.createElement('div');
		fbDiv.id = "FB_HiddenContainer";	// Required or else FeatureLoader will execute a document.write.
		fbDiv.style.position = 'absolute';	// This is intentionally not setting display to none as this breaks
		fbDiv.style.top = '-10000px';		// Flash in Safari.
		fbDiv.style.left = '-10000px';
		fbDiv.style.width = '0px';
		fbDiv.style.height = '0px';
		Dsq.container.appendChild(fbDiv);
	}
	var fbJS = document.createElement('script');
	fbJS.type = "text/javascript";
	fbJS.src = "http://static.ak.connect.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php";
	document.getElementsByTagName('head')[0].appendChild(fbJS);

	ExecuteWhen.add(window.fbIsReady,
		function () {
			// HACK: This is a workaround FBC's single domain limitation by
			//		 allowing sites to create multiple forums with different
			//		 Facebook API keys.  This must be used in conjunction with
			//		 disqus_facebook_forum (see authenticateFacebook).
			var facebook_api_key = 'faaf467d0f47abde553c3b8e0e1b3570';
			if (typeof disqus_facebook_api_key != 'undefined') {
				facebook_api_key = disqus_facebook_api_key;
			}

			FB.init(facebook_api_key, window.facebookXdReceiverPath || null,
				{fetchSignedPublicSessionData: true});
		});
}


	


if(typeof(disqus_callback) == 'function') {
	var callback_params = Dsq.Utils.getRequestParams()['dsq_cbp'] || null;

	// We don't care about any errors in third-party code
	try {
		disqus_callback(callback_params);
	} catch (x) {
		if (typeof(console) != 'undefined' && typeof(console.log) == 'function') {
			// But it would be nice to let developers know about them
			console.log(x);
		}
		// pass
	}

	// HACK: We don't know if the callback wraps our container, which may
	// possibly result in a new DOM element.
	Dsq.container = document.getElementById('dsq-content');
}

// Global event handler for narcissus.
if (Dsq.jsonData.integration.theme == 4) {
	var g = Dsq.Utils.ie ? document : window;
	Dsq.Utils.addEventListener(g, 'keydown', function(event) {
		// Handle "enter" key on input for post box.
		if ((event.keyCode || event.which) == 13) {
			var target = Dsq.Utils.ie ? event.srcElement : event.target;
			// For Safari bug, detect text node.
			if (target.nodeType == 3) {
				target = target.parentNode;
			}

			if (target.nodeName == 'INPUT' &&
				target.parentNode.className == 'dsq-input-wrapper') {
				var postId = Dsq.Utils.extractId(target);
				Dsq.Templates.postComment(postId, this, false);
			}
		}
	});
}

})();




