




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": {"6566f1558fa9b77ce2f3f7605c5aa59e": {"username": "Gubbi", "tumblr": "", "display_name": "Gubbi", "url": "http://disqus.com/guest/6566f1558fa9b77ce2f3f7605c5aa59e/", "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": ""}, "8e25ce83275debdbe2e4e1e40eb41bcb": {"username": "Kathy Sierra", "tumblr": "", "display_name": "Kathy Sierra", "url": "http://disqus.com/guest/8e25ce83275debdbe2e4e1e40eb41bcb/", "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": ""}, "f5d88bdc4dc33ebe9dc3b3098a76d548": {"username": "Ryan Morrison", "tumblr": "", "display_name": "Ryan Morrison", "url": "http://disqus.com/guest/f5d88bdc4dc33ebe9dc3b3098a76d548/", "registered": false, "linkedin": "", "blog": "http://www.upyourego.com/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": ""}, "b8e592ca41ee3ab312c537e506883932": {"username": "magpie (larah)", "tumblr": "", "display_name": "magpie (larah)", "url": "http://disqus.com/guest/b8e592ca41ee3ab312c537e506883932/", "registered": false, "linkedin": "", "blog": "http://blackdogandmagpie.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": ""}, "71e5f6262919a5f5f1bcbdc83295d03a": {"username": "Brett", "tumblr": "", "display_name": "Brett", "url": "http://disqus.com/guest/71e5f6262919a5f5f1bcbdc83295d03a/", "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": ""}, "323a629587771993816f770829208ad3": {"username": "Jack", "tumblr": "", "display_name": "Jack", "url": "http://disqus.com/guest/323a629587771993816f770829208ad3/", "registered": false, "linkedin": "", "blog": "http://www.digitalbricklayer.com/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": ""}, "ff74951d022e520f110e3a3397dd1616": {"username": "Anonymous Person", "tumblr": "", "display_name": "Anonymous Person", "url": "http://disqus.com/guest/ff74951d022e520f110e3a3397dd1616/", "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": ""}, "2f357e9ee4d75cf12092bf9f23b13bae": {"username": "Chris Brogan...", "tumblr": "", "display_name": "Chris Brogan...", "url": "http://disqus.com/guest/2f357e9ee4d75cf12092bf9f23b13bae/", "registered": false, "linkedin": "", "blog": "http://chrisbrogan.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": "Robert Scoble", "tumblr": "", "display_name": "Robert Scoble", "url": "http://disqus.com/guest/3553f5e0db0fd1ec4e40a932a2d8f5b3/", "registered": false, "linkedin": "", "blog": "http://scobleizer.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": ""}, "9c9bbbf2935a01d2c3513b04f95afd29": {"username": "Christian Burns", "tumblr": "", "display_name": "Christian Burns", "url": "http://disqus.com/guest/9c9bbbf2935a01d2c3513b04f95afd29/", "registered": false, "linkedin": "", "blog": "http://christianburns.wordpress.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/28/2007/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "06acf81c81dc1c50b2d8c8e105c6a7d9": {"username": "travesti", "tumblr": "", "display_name": "travesti", "url": "http://disqus.com/guest/06acf81c81dc1c50b2d8c8e105c6a7d9/", "registered": false, "linkedin": "", "blog": "http://www.travesticenneti.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": ""}, "989b097e508ba74419a03fd047671d61": {"username": "mblair", "tumblr": "", "display_name": "mblair", "url": "http://disqus.com/guest/989b097e508ba74419a03fd047671d61/", "registered": false, "linkedin": "", "blog": "http://www.smoblog.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": ""}, "4ec436417768b63a58fa3a86b5615d35": {"username": "Ian Nock", "tumblr": "", "display_name": "Ian Nock", "url": "http://disqus.com/guest/4ec436417768b63a58fa3a86b5615d35/", "registered": false, "linkedin": "", "blog": "http://nocky100.vox.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": ""}, "55d4b2faf2aef76131d2ae81e9645aff": {"username": "travesti", "tumblr": "", "display_name": "travesti", "url": "http://disqus.com/guest/55d4b2faf2aef76131d2ae81e9645aff/", "registered": false, "linkedin": "", "blog": "http://www.supertravestiler.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": ""}, "c0d39c12cc61d431219245ce323e3b02": {"username": "Dan G", "tumblr": "", "display_name": "Dan G", "url": "http://disqus.com/guest/c0d39c12cc61d431219245ce323e3b02/", "registered": false, "linkedin": "", "blog": "http://dan100.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": ""}, "a665a9d51c216fd84bdb092702726463": {"username": "John", "tumblr": "", "display_name": "John", "url": "http://disqus.com/guest/a665a9d51c216fd84bdb092702726463/", "registered": false, "linkedin": "", "blog": "http://blog.sirthinks.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": ""}, "975df19abeedae88e6d31aad1a80a58d": {"username": "Steve Elbows", "tumblr": "", "display_name": "Steve Elbows", "url": "http://disqus.com/guest/975df19abeedae88e6d31aad1a80a58d/", "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": ""}, "2337df24cfaea5bfdf1677bdcb4e099d": {"username": "Jim", "tumblr": "", "display_name": "Jim", "url": "http://disqus.com/guest/2337df24cfaea5bfdf1677bdcb4e099d/", "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": ""}, "b5d317114d4c4a7762ab66e77fd0002a": {"username": "travesti", "tumblr": "", "display_name": "travesti", "url": "http://disqus.com/guest/b5d317114d4c4a7762ab66e77fd0002a/", "registered": false, "linkedin": "", "blog": "http://www.travestikizlar.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": ""}, "7f6291e8344b594235e57b843fc05d9b": {"username": "Christopher Coulter", "tumblr": "", "display_name": "Christopher Coulter", "url": "http://disqus.com/guest/7f6291e8344b594235e57b843fc05d9b/", "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": ""}, "bdc9b8ad888d2c795bdbfe7f1cb936f9": {"username": "Javaira", "tumblr": "", "display_name": "Javaira", "url": "http://disqus.com/guest/bdc9b8ad888d2c795bdbfe7f1cb936f9/", "registered": false, "linkedin": "", "blog": "http://www.javairasfolly.jandell.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": ""}, "9b646ff3eeda1f01cc2b1cb86d1634f9": {"username": "paul", "tumblr": "", "display_name": "paul", "url": "http://disqus.com/guest/9b646ff3eeda1f01cc2b1cb86d1634f9/", "registered": false, "linkedin": "", "blog": "http://dotnetjunkies.com/WebLog/paul/", "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": ""}, "c1cc9d8512ea9fb293cbc83702a67fa3": {"username": "Webomatica", "tumblr": "", "display_name": "Webomatica", "url": "http://disqus.com/guest/c1cc9d8512ea9fb293cbc83702a67fa3/", "registered": false, "linkedin": "", "blog": "http://www.webomatica.com/wordpress/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/39/7393/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "8f98c4855ef8454da20cc8c71c4a5da9": {"username": "travesti vitrini", "tumblr": "", "display_name": "travesti vitrini", "url": "http://disqus.com/guest/8f98c4855ef8454da20cc8c71c4a5da9/", "registered": false, "linkedin": "", "blog": "http://www.travestivitrini.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": ""}, "2422a2265d42827053c54ec0d1509e7a": {"username": "Greg Birch", "tumblr": "", "display_name": "Greg Birch", "url": "http://disqus.com/guest/2422a2265d42827053c54ec0d1509e7a/", "registered": false, "linkedin": "", "blog": "http://www.minicooper.tumblr.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": ""}, "a894c12ff40ce0e6fc5fa94e83c3749f": {"username": "bytehead", "tumblr": "", "display_name": "bytehead", "url": "http://disqus.com/guest/a894c12ff40ce0e6fc5fa94e83c3749f/", "registered": false, "linkedin": "", "blog": "http://bytehead.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": ""}, "8b82bbf4de3d66cab8f3de39fa06220f": {"username": "Bernie Goldbach", "tumblr": "", "display_name": "Bernie Goldbach", "url": "http://disqus.com/guest/8b82bbf4de3d66cab8f3de39fa06220f/", "registered": false, "linkedin": "", "blog": "http://podcasting.ie/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/9/2510/avatar92.jpg", "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": ""}, "10840f959debdaad6c3b4217042eefe4": {"username": "Seth Finkelstein", "tumblr": "", "display_name": "Seth Finkelstein", "url": "http://disqus.com/guest/10840f959debdaad6c3b4217042eefe4/", "registered": false, "linkedin": "", "blog": "http://sethf.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": ""}, "escortseray": {"username": "escortseray", "tumblr": "", "display_name": "escortseray", "url": "http://disqus.com/escortseray/", "registered": true, "linkedin": "", "blog": "", "remote_domain": null, "points": 2, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": true, "flickr": "", "twitter": "", "remote_domain_name": ""}, "300b61520db57c694cb71b03a48a7cb9": {"username": "ict4peace", "tumblr": "", "display_name": "ict4peace", "url": "http://disqus.com/guest/300b61520db57c694cb71b03a48a7cb9/", "registered": false, "linkedin": "", "blog": "http://ict4peace.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": ""}, "5f97ee08649d6a32bf23eef33689681a": {"username": "Ganz Teddy Bears", "tumblr": "", "display_name": "Ganz Teddy Bears", "url": "http://disqus.com/guest/5f97ee08649d6a32bf23eef33689681a/", "registered": false, "linkedin": "", "blog": "http://ganzteddybears.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": ""}, "6749cb0a7e069557fb6d7f8f7213b0c6": {"username": "Eric Skiff", "tumblr": "", "display_name": "Eric Skiff", "url": "http://disqus.com/guest/6749cb0a7e069557fb6d7f8f7213b0c6/", "registered": false, "linkedin": "", "blog": "http://clipmarks.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/11/9380/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "29c785f4a7eda7ac9fa2381035c1a720": {"username": "Ann", "tumblr": "", "display_name": "Ann", "url": "http://disqus.com/guest/29c785f4a7eda7ac9fa2381035c1a720/", "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": ""}, "68dc4ba57a5cdfa7ad68461422c7f1c0": {"username": "Paul Short", "tumblr": "", "display_name": "Paul Short", "url": "http://disqus.com/guest/68dc4ba57a5cdfa7ad68461422c7f1c0/", "registered": false, "linkedin": "", "blog": "http://www.talknewmedia.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": ""}, "884c5c6392507a2f8130d8300b4e2a2a": {"username": "Jojo", "tumblr": "", "display_name": "Jojo", "url": "http://disqus.com/guest/884c5c6392507a2f8130d8300b4e2a2a/", "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": ""}, "bed977439987c464728299b875e24d6e": {"username": "thanks for the anonymity", "tumblr": "", "display_name": "thanks for the anonymity", "url": "http://disqus.com/guest/bed977439987c464728299b875e24d6e/", "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": ""}, "26493d7270fb206c1e08599674e51e5a": {"username": "LayZ", "tumblr": "", "display_name": "LayZ", "url": "http://disqus.com/guest/26493d7270fb206c1e08599674e51e5a/", "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": ""}, "f259169eb5cb73c577261845a24a64c5": {"username": "TDavid", "tumblr": "", "display_name": "TDavid", "url": "http://disqus.com/guest/f259169eb5cb73c577261845a24a64c5/", "registered": false, "linkedin": "", "blog": "http://www.makeyougohmm.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": ""}, "83f1b13891ce8846d62316801f576877": {"username": "travestinizayca", "tumblr": "", "display_name": "travestinizayca", "url": "http://disqus.com/guest/83f1b13891ce8846d62316801f576877/", "registered": false, "linkedin": "", "blog": "http://www.travestinizayca.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": ""}, "25780ed3082545d92a9d8ffd186608f1": {"username": "Tom H.", "tumblr": "", "display_name": "Tom H.", "url": "http://disqus.com/guest/25780ed3082545d92a9d8ffd186608f1/", "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": ""}, "a54251b745d59735ea5e9f0656a5d58d": {"username": "Mike Gunderloy", "tumblr": "", "display_name": "Mike Gunderloy", "url": "http://disqus.com/guest/a54251b745d59735ea5e9f0656a5d58d/", "registered": false, "linkedin": "", "blog": "http://afreshcup.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/189/5975/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "441baaa04cbb8b237a2e6f4828dfda6b": {"username": "Jon Biddell", "tumblr": "", "display_name": "Jon Biddell", "url": "http://disqus.com/guest/441baaa04cbb8b237a2e6f4828dfda6b/", "registered": false, "linkedin": "", "blog": "http://www.macinations.net/test", "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": ""}, "7778a7bed17dae3f103ffd8c7951e8e5": {"username": "raincoaster", "tumblr": "", "display_name": "raincoaster", "url": "http://disqus.com/guest/7778a7bed17dae3f103ffd8c7951e8e5/", "registered": false, "linkedin": "", "blog": "http://raincoaster.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/5/699/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "9d313f563b42dd7f262ebea05f201a17": {"username": "Yehuda Berlinger", "tumblr": "", "display_name": "Yehuda Berlinger", "url": "http://disqus.com/guest/9d313f563b42dd7f262ebea05f201a17/", "registered": false, "linkedin": "", "blog": "http://jergames.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": ""}, "e84dc05ee58e2f6be9b2acc57ddcef87": {"username": "Tony", "tumblr": "", "display_name": "Tony", "url": "http://disqus.com/guest/e84dc05ee58e2f6be9b2acc57ddcef87/", "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": ""}, "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": ""}, "e23c7de17e7195a134afe3eba10d5a5d": {"username": "billg", "tumblr": "", "display_name": "billg", "url": "http://disqus.com/guest/e23c7de17e7195a134afe3eba10d5a5d/", "registered": false, "linkedin": "", "blog": "http://www.distanttarget.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": ""}, "19336c497a5d462a6a252d3b9468f6a9": {"username": "Blonde 2.0", "tumblr": "", "display_name": "Blonde 2.0", "url": "http://disqus.com/guest/19336c497a5d462a6a252d3b9468f6a9/", "registered": false, "linkedin": "", "blog": "http://blonde2dot0.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": ""}, "11236cee0c868542c7aa865bdaafcaa9": {"username": "super bilisim", "tumblr": "", "display_name": "super bilisim", "url": "http://disqus.com/guest/11236cee0c868542c7aa865bdaafcaa9/", "registered": false, "linkedin": "", "blog": "http://www.superbilisim.com.tr/", "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": ""}, "1dce66e3f7dfc4d7ce134b92b797327f": {"username": "Shelley", "tumblr": "", "display_name": "Shelley", "url": "http://disqus.com/guest/1dce66e3f7dfc4d7ce134b92b797327f/", "registered": false, "linkedin": "", "blog": "http://burningbird.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": ""}, "f96bb1223f8dabfae49ba3f7c0fd67cd": {"username": "Seth Wagoner", "tumblr": "", "display_name": "Seth Wagoner", "url": "http://disqus.com/guest/f96bb1223f8dabfae49ba3f7c0fd67cd/", "registered": false, "linkedin": "", "blog": "http://sethop.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": ""}, "0eb030efdec1988f2c3f2ee15de40f88": {"username": "Yazmilda Almanza", "tumblr": "", "display_name": "Yazmilda Almanza", "url": "http://disqus.com/guest/0eb030efdec1988f2c3f2ee15de40f88/", "registered": false, "linkedin": "", "blog": "http://yazmilda.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": ""}, "7d1716052180cadfc550cd57bea86f41": {"username": "craigs list and new york", "tumblr": "", "display_name": "craigs list and new york", "url": "http://disqus.com/guest/7d1716052180cadfc550cd57bea86f41/", "registered": false, "linkedin": "", "blog": "http://craigslistandnewyork.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": ""}, "1b34e4c3b93181cbb56b6df77bbedd57": {"username": "James", "tumblr": "", "display_name": "James", "url": "http://disqus.com/guest/1b34e4c3b93181cbb56b6df77bbedd57/", "registered": false, "linkedin": "", "blog": "http://duckdown.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": ""}, "1adc69408bf2dfabff0e5811711a4cbb": {"username": "Andrew Rickmann", "tumblr": "", "display_name": "Andrew Rickmann", "url": "http://disqus.com/guest/1adc69408bf2dfabff0e5811711a4cbb/", "registered": false, "linkedin": "", "blog": "http://www.rickmann-design.co.uk/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/93/1290/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "d216a3045bcaf78d8f5dae7bc6f42f4a": {"username": "Rob Moir", "tumblr": "", "display_name": "Rob Moir", "url": "http://disqus.com/guest/d216a3045bcaf78d8f5dae7bc6f42f4a/", "registered": false, "linkedin": "", "blog": "http://rhymeswithgeek.com/blogs/someone_else/default.aspx", "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": ""}, "414ec447a1d226b60e81c9239bfe48f3": {"username": "Shii", "tumblr": "", "display_name": "Shii", "url": "http://disqus.com/guest/414ec447a1d226b60e81c9239bfe48f3/", "registered": false, "linkedin": "", "blog": "http://shii.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": ""}, "e5af1d190c7fbcc58bbf6b0f74f20a90": {"username": "ozlem kuafor", "tumblr": "", "display_name": "ozlem kuafor", "url": "http://disqus.com/guest/e5af1d190c7fbcc58bbf6b0f74f20a90/", "registered": false, "linkedin": "", "blog": "http://www.ozlemkuafor.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": ""}, "9cb143b1435ed7541f385b3350ddcdfc": {"username": "Jeremy Pepper", "tumblr": "", "display_name": "Jeremy Pepper", "url": "http://disqus.com/guest/9cb143b1435ed7541f385b3350ddcdfc/", "registered": false, "linkedin": "", "blog": "http://pop-pr.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": ""}, "a12468358ad6e853c6d189fcd2fb868c": {"username": "Thomas Brock", "tumblr": "", "display_name": "Thomas Brock", "url": "http://disqus.com/guest/a12468358ad6e853c6d189fcd2fb868c/", "registered": false, "linkedin": "", "blog": "http://blogs.brocknet.net/brocklog/", "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": ""}, "150e33f4d8446b1138a15ecc54692727": {"username": "Alan Dean", "tumblr": "", "display_name": "Alan Dean", "url": "http://disqus.com/guest/150e33f4d8446b1138a15ecc54692727/", "registered": false, "linkedin": "", "blog": "http://thoughtpad.net/who/alan-dean/", "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": ""}, "f12d3306a49df8058a882e9f97c1a58b": {"username": "mytravesti", "tumblr": "", "display_name": "mytravesti", "url": "http://disqus.com/guest/f12d3306a49df8058a882e9f97c1a58b/", "registered": false, "linkedin": "", "blog": "http://www.mytravesti.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": ""}, "4a03e37f4a59368819a9886b59d414fe": {"username": "KNOCKS", "tumblr": "", "display_name": "KNOCKS", "url": "http://disqus.com/guest/4a03e37f4a59368819a9886b59d414fe/", "registered": false, "linkedin": "", "blog": "http://www.knocks-solutions.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": ""}, "6f5084d0ea3ac563a93acdb4f47cda71": {"username": "Chris", "tumblr": "", "display_name": "Chris", "url": "http://disqus.com/guest/6f5084d0ea3ac563a93acdb4f47cda71/", "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": ""}, "17ced993c6a8f652b865bfbbdef963fe": {"username": "Paul Jacobson", "tumblr": "", "display_name": "Paul Jacobson", "url": "http://disqus.com/guest/17ced993c6a8f652b865bfbbdef963fe/", "registered": false, "linkedin": "", "blog": "http://wiredgecko.net/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/8945/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "ecf6d7a79dc6441dcb0d74ab6577dec4": {"username": "yuE", "tumblr": "", "display_name": "yuE", "url": "http://disqus.com/guest/ecf6d7a79dc6441dcb0d74ab6577dec4/", "registered": false, "linkedin": "", "blog": "http://devilcatz.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": ""}}, "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_08:51:26", "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": {"9675278": {"up_voted": false, "ip": "", "has_replies": false, "message": "Not really getting into this whole eternal sideshow, but you know, this just loads everyone up for a NYT divebomb of blogs and social media as untamed \"wild west zones\" and that can't be good for the (halfway real almond-tree stuff) from Jeremiah. Expect tons of further attention, as this plays directly into journalistic agendas.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-09_14:11:53", "killed": false, "user_key": "7f6291e8344b594235e57b843fc05d9b", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 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}, "9675279": {"up_voted": false, "ip": "", "has_replies": false, "message": "Kathy's comment concerns me. Kathy is a fabulous blogger, my favourite of all time, and she's decided that blogging just isn't safe any more for her and and her family, and she can't see any way that things might improve. Now, that's a tragedy if ever I saw one.<br><br>No doubt, her mood has not helped by the  scorn heaped upon her by the cynical masses who can't imagine why a popular and friendly blogger who is also a mother would want to live free from sporadic death threats and crazy misogynist photoshop work.<br><br>At the moment you really do need a tough skin to survive any sort of popularity online, but I haven't given up hope and I think things can improve a smidgen, and I think Tim's a brave man for suggesting that might be the case. BTW he's got out of bed and made some comments over on his original blog post that improve his case (to my mind, anyway).<br><br>More commentary on my blog. But now I really must sleep.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-09_13:30:15", "killed": false, "user_key": "f96bb1223f8dabfae49ba3f7c0fd67cd", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 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}, "9675280": {"up_voted": false, "ip": "", "has_replies": false, "message": "This code of conduct is going to be as successful as the attentiontrust gibberish that very few people paid attention to.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-09_13:38:33", "killed": false, "user_key": "f259169eb5cb73c577261845a24a64c5", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 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}, "9675281": {"up_voted": false, "ip": "", "has_replies": false, "message": "Thoughts:<br><br>1. The blogs who are more apt to sign up for this are those that are already following the code anyhow - meaning it's not going to solve anything.<br><br>2. As Tony Hung asked earlier - whose going to enforce this? Is a blog police going to be randomly checking blogs with the badge and testing compliance?<br><br>3. This sounds like yet another barrier towards encouraging open debate on blogs. Blogging is challenging enough already and now it's like, oh you want to start a blog? By the way, here's a code of conduct you need to follow.<br><br>I'm thinking I\"m just going to add a comments policy on my about page and be done with it. I already moderate my comments personally, anyhow...", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-09_13:59:46", "killed": false, "user_key": "c1cc9d8512ea9fb293cbc83702a67fa3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 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}, "9675282": {"up_voted": false, "ip": "", "has_replies": false, "message": "\"Tim O\u2019Reilly is a guy who really can affect one\u2019s career online\"<br><br>Tim is being a dork.  :-) Tell him to bugger off and you do whatever you want.<br><br>He's doing nothing but turning blogging into a members only club where all the \"cool kids\" have badges and \"enforce civility\"....give me a break.  There is enough    \"back scratching\" going on in blogging, it needs to be shaken up a bit.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-09_13:16:01", "killed": false, "user_key": "2337df24cfaea5bfdf1677bdcb4e099d", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 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}, "9675283": {"up_voted": false, "ip": "", "has_replies": false, "message": "Nope, not gonna wear that badge either.<br><br>Just roll your own code. Keep it to three lines or less. Post it right above your comment box. Stick to it. How simple is that?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-09_12:56:12", "killed": false, "user_key": "b8e592ca41ee3ab312c537e506883932", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 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}, "9675284": {"up_voted": false, "ip": "", "has_replies": false, "message": "For the record, I had nothing to do with this Code of Conduct, was not involved in any discussion, and I can't see how it would have made any difference at all in my situation. I understand that my post was the spark that started these conversations, but I don't see how this is different from a comment policy. If people are determined to threaten and intimidate you, they can do it on other blogs, and when challenged--one can claim they were hacked and impersonated, so... there's nothing you can do.<br><br>The ONLY thing I wish would happen is that group blogs take responsibility for what their co-authors write, or at least once those co-authors are made aware of it that they stop promoting the sites.  As for the notion of writing to the people publicly first, I tried that -- I wrote to the ones whose emails I knew-- Frank and Jeneane--more than a week before I went public...<br><br>No, I can't see how this Code of Conduct will change anything, because the blogosphere is not a community. I had mistakenly thought there were *sub* communities, like \"tech blogging community\" or \"women tech blogging community\", but that was a figment. I actually no longer think anything can be done other than growing a much thicker skin, a much stronger stomach, and a willingness to have your kids exposed to the kinds of content my daughters got to see and read about me. That's why I am NOT coming back... at least not as a sole blogger, or under my own name. Whatever causes people to want to hate and intimidate people with visibility--regardless of their topic and writing-- will be unaffected by this Code of Conduct.<br><br>I support Tim in trying to do *something*, and again-- I had nothing to do with (and knew nothing about) this. But I don't think anything--can be done. This isn't about the dark side of the interent or blogs-- it's about people who prefer to be cruel and threatening. The internet just makes it much easier to do it from a distance.<br><br>I spent the last two years writing about my optimism about blogs and the wonderful opportunity it gave us. I was so wrong. The threatening emails, photos, outright lying posts, and having all my personal data (ss, home address, etc.) posted all over the net SINCE  I went public have proved that to me once and for all.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-09_12:57:22", "killed": false, "user_key": "8e25ce83275debdbe2e4e1e40eb41bcb", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 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}, "9675285": {"up_voted": false, "ip": "", "has_replies": false, "message": "John C, I haven't seen *anyone* jumping on this thing with nigh-religious fervor - can you point to some examples? There were a few who expressed vague support, a few who expressed support in principle so long as there was a big edit job first and perferrably several versions/variants available (I fall into that category), and then there was an enormous mob screaming blue murder about censorship, which I think is an *excellent* refutation of SethF's claims that the \"Pilot Fish\" tend to fall in behind the \"A listers\"...I blogged about that, just seems wrong to me.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-09_13:09:27", "killed": false, "user_key": "f96bb1223f8dabfae49ba3f7c0fd67cd", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 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}, "9675286": {"up_voted": false, "ip": "", "has_replies": false, "message": "For once, I agree...<br><br>And enforceable by whom? Tim and his Merry Men gang? There are other publishers, free market you know. But a good biz person learns to divide the lines between political issues, and even on such, enemies on one issue, friends on another...Wash DC style.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-09_12:39:33", "killed": false, "user_key": "7f6291e8344b594235e57b843fc05d9b", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 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}, "9675287": {"up_voted": false, "ip": "", "has_replies": false, "message": "<i>Tim would no more retaliate against a person who disagrees with him then he would invite a person to foocamp just because they whine about it.</i><br><br>Tim may not, but the people jumping on this thing with nigh-religious fervor? Like someone once said, \"Jesus? Jesus I like. His followers however scare the shit out of me.\" Tim may be full of nothing but good intentions, but there is <i>no way</i> he can own this, and keep it from becoming a morality play. Luckily, silliness like this usually dies out on its own, because people start realizing that it's simply not going to work.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-09_12:38:34", "killed": false, "user_key": "422187df3c45655b0dc2ae5de0710b27", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 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}, "9675288": {"up_voted": false, "ip": "", "has_replies": false, "message": "I don't like^H^H^H^H^H^H^H^H^H^H disagree with all six points.<br><br><a href=\"http://www.bytehead.org/blog/2007_04_01_archive.php#113475080167610481\" rel=\"nofollow\">http://www.bytehead.org/blog/2007_04_01_archive...</a><br><br>And I almost choked to death when Dave Winer said over the first Twitter conference call about how everybody wants to be an A-lister.  Not me!  Before I could get a word out, we were already on a different subject!  Sigh.  Oh well.  We introverts have to suffer with you extroverts.<br><br>Me? As somebody blogged in Gruntled Employees, the best blogging rule is the shortest: Be professional.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-09_11:48:04", "killed": false, "user_key": "a894c12ff40ce0e6fc5fa94e83c3749f", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 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}, "9675289": {"up_voted": false, "ip": "", "has_replies": false, "message": "It may not have been Tim's original intent, but people are already starting to use this to draw a black-and-white line between \"follows the 'Civility Enforced' rules and 'Anything Goes'.\" Which is nonsense. There is a lot of room for bloggers of good faith who don't agree with with one or more of the (in my opinion overbearing) O'Reilly-backed rules to run civil upstanding blogs, but they're going to get lumped in with the freefire zones as this debate degenerates to namecalling.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-09_12:10:21", "killed": false, "user_key": "a54251b745d59735ea5e9f0656a5d58d", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 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}, "9675290": {"up_voted": false, "ip": "", "has_replies": false, "message": "Scoble you feisty wildcat, I have such STROOOONGGG feelings for you. I will do unspeakably kind things to you and your family. I will give your grandmother a birthday card containing only my deepest wishes. You'd better watch your back. I'm searching for your house on Google Maps and when I find it I'm going to break inside with all my friends and throw you a shockingly exciting surprise party.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-09_11:55:00", "killed": false, "user_key": "414ec447a1d226b60e81c9239bfe48f3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 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}, "9675291": {"up_voted": false, "ip": "", "has_replies": false, "message": "Well, this is also why I keep Twittering about the hypocrisy out there. It's getting worse and worse.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-09_10:57:06", "killed": false, "user_key": "9cb143b1435ed7541f385b3350ddcdfc", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 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}, "9675292": {"up_voted": false, "ip": "", "has_replies": false, "message": "Uh Oh.....  Scary stuff going on here.  I agree with Scoble on something.<br><br>Be still my heart.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-09_11:14:12", "killed": false, "user_key": "a665a9d51c216fd84bdb092702726463", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 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}, "9675293": {"up_voted": false, "ip": "", "has_replies": false, "message": "Kfir:<br><br>I totally agree with you. Who cares?<br>Take it offline!<br>Or better yet, perhaps we should write up a \"cell owners code of conduct?\"<br><br>Blonde 2.0", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-13_10:47:06", "killed": false, "user_key": "19336c497a5d462a6a252d3b9468f6a9", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 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}, "9675294": {"up_voted": false, "ip": "", "has_replies": false, "message": "I want to know how the Web 2.0 conference got prominently mentioned in the NYTimes again just days before it begins, that's a PR coup.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-09_10:54:44", "killed": false, "user_key": "9b646ff3eeda1f01cc2b1cb86d1634f9", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 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}, "9675295": {"up_voted": false, "ip": "", "has_replies": false, "message": "I have put together some thoughts on civility, see <a href=\"http://thoughtpad.net/who/alan-dean/on-civility.html\" rel=\"nofollow\">http://thoughtpad.net/who/alan-dean/on-civility...</a>", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-09_10:48:46", "killed": false, "user_key": "150e33f4d8446b1138a15ecc54692727", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 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}, "9675296": {"up_voted": false, "ip": "", "has_replies": false, "message": "Don't change the way you do things. Your openness and policies are the best and should be adopted by others. Anonymity and privacy are important principles and lead to a freer exchange of ideas and opinions. Of course, there are some downsides, but they are easily outweighed by the benefits (even though it might not seem like that sometimes). This code of conduct is a bad reaction to a bad situation.<br><br>I hope you don't cave into the pressure. Keep up the good work!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-09_10:50:00", "killed": false, "user_key": "884c5c6392507a2f8130d8300b4e2a2a", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 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}, "9675297": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert,<br><br>Just read the NYT piece from a link off Drudge and wow - you \"feel like you live in Iran\" ...?<br><br>What a load of BS. Why don't you go live there for a while with the jihadi's and come back and tell us how awful America is again. As a constantly self annointed \"A Lister\" you are just ...... laughable.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-09_10:30:14", "killed": false, "user_key": "29c785f4a7eda7ac9fa2381035c1a720", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 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}, "9675298": {"up_voted": false, "ip": "", "has_replies": false, "message": "I have been critical, sometimes strongly, of Tim O'Reilly in my space for years and I'm still writing books for him. More, I've been critical of his friends.<br><br>Tim would no more retaliate against a person who disagrees with him then he would invite a person to foocamp just because they whine about it.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-09_09:23:53", "killed": false, "user_key": "1dce66e3f7dfc4d7ce134b92b797327f", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 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}, "9675299": {"up_voted": false, "ip": "", "has_replies": false, "message": "Eh. An arbitrary code written by anyone other than a blog's writer (or writers) is irrelevant.<br><br>I'm nowhere near popular enough to feel pressured to buy into any such agreement, but, legislating the blogosphere isn't going to change anything.<br><br>I write a blog, I make and enforce my rules. It's a personal responsibility type of thing to me.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-09_09:26:06", "killed": false, "user_key": "a12468358ad6e853c6d189fcd2fb868c", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 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}, "9675300": {"up_voted": false, "ip": "", "has_replies": false, "message": "As someone who gets the most virulent comments imaginable with the occasional death threat to boot, in a country in which a culture of impunity has overwhelmed the Rule of Law and where human rights are now just a good idea, I can assure you that I am partial to the idea of some sort of framework of civility for comments in blogs.<br><br>However, this has to be determined by the owner / group that runs each blog - not by a higher uber-blogger who determines what civility is for the rest of us.<br><br>See <a href=\"http://ict4peace.wordpress.com/2007/04/10/blogging-code-of-conduct-does-one-size-fit-all\" rel=\"nofollow\">http://ict4peace.wordpress.com/2007/04/10/blogg...</a>", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-11_13:36:18", "killed": false, "user_key": "300b61520db57c694cb71b03a48a7cb9", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 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}, "9675301": {"up_voted": false, "ip": "", "has_replies": false, "message": "When there is a code in place - the most interesting blogs will become the ones that tread closest to the edges. :)<br>Rules are for a reason - they are meant to be broken and its a lot of fun when they are.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-09_09:16:27", "killed": false, "user_key": "d3ea5ee6736f486f879d4c80695b2223", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 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}, "9675302": {"up_voted": false, "ip": "", "has_replies": false, "message": "Dan, I don't want to \"engage with editing it\". First of all, stop using engage that way, it's inane. Secondly, I don't want my name to be directly tied to something that astoundingly stupid. You want to try to legislate civility, that's your windmill. Me? Not my farm, not my pig, and I'll thank you and the rest of the politeness patrol to stay the hell away <i>from</i> both my farm and my pig.<br><br>Especially since you're so eager to hound people you don't like off the internet. In fact, reading more of your blog, you're all about \"guilty until proven innocent\" with a nice side helping of \"if you're accused by someone I like, you're obviously guilty.\" Great job there, by the way. I know some folks in the Southern U.S. who'd like your style. Of course you like the idea, it would give you a badge to wear in your campaign to cleanse the Internet.<br><br>I'll say this though. If you think you're gonna hound people like me off of anywhere, you better pack a lunch and bring a sleeping bag, 'cause you're going to be in for a loooot of work, and it ain't going to be fun.<br><br>Robert...don't get on board with this. It's just giving lynch mobs a veneer of legitimacy.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-09_09:00:04", "killed": false, "user_key": "422187df3c45655b0dc2ae5de0710b27", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 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}, "9675303": {"up_voted": false, "ip": "", "has_replies": false, "message": "Goddamnit Robert, you ate my morning with this, because there's no WAY i'm waiting to post something about THIS level of bullshit:<br><br><a href=\"http://www.bynkii.com/archives/2007/04/tim_oreilly_has_lost_his_mind.html\" rel=\"nofollow\">http://www.bynkii.com/archives/2007/04/tim_orei...</a>", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-09_08:50:11", "killed": false, "user_key": "422187df3c45655b0dc2ae5de0710b27", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 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}, "9675304": {"up_voted": false, "ip": "", "has_replies": false, "message": "As a suggested or recommended roster of professional ethics, a code of conduct is a mark of a maturing industry. But, an intent to police this in some fashion smacks of vigilantism. This kind of thing only works in professions like medicine and law where the professional associations can remove the license that's needed to practice.<br><br>What this flap ought to do is remind us all that putting content -- a comment -- on someone else's publication is a privilege, not a right. A blog is not a public bulletin board unless the person running the blog says it is.  Even then you can't escape responsibility for everything that's published on your blog.  The software allows us to authenticate comments, moderate them, etc.  It's our decision and the results are our responsibility.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-09_08:55:43", "killed": false, "user_key": "e23c7de17e7195a134afe3eba10d5a5d", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 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}, "9675305": {"up_voted": false, "ip": "", "has_replies": false, "message": "sometimes, the reason why a code exist, is simply because:<br>someone created it, just so another can break it.<br>when another breaks it, the someone takes pleasure in punishing them...<br><br>twisted, but true.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-09_14:56:42", "killed": false, "user_key": "ecf6d7a79dc6441dcb0d74ab6577dec4", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 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}, "9675306": {"up_voted": false, "ip": "", "has_replies": false, "message": "I wouldn't use that badge or code in its current form, because I disagree with a few minor points, and because the \"Civility Enforced\" badge has an unpleasant vibe to me.<br><br>Also, this whole thing seems to me a solution in search of a problem. I think most weblogs and forums are perfectly able to establish their own codes of conduct, either formally or informally, badges or not.<br><br>Would the whole Kathy Sierra incident have been different if the site in question had an \"Anything Goes\" badge? I don't think so.<br><br>I'm posting this anonymously because I have worked with O'Reilly and probably will again, and I too feel pressure. How would taking away this anonymity help?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-09_03:50:19", "killed": false, "user_key": "ff74951d022e520f110e3a3397dd1616", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 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}, "9675307": {"up_voted": false, "ip": "", "has_replies": false, "message": "Man, sometimes I think of you as the Nascar Dad of blogging, and I'm in a different demographic.<br><br>But this post was great -- yes, civil liberties have a social cost and we should be (and feel) free to pay them. The alternatives are worse. And bonus points for the pithy lines about gutter-wrestling trolls.<br><br>Assuming that the internet otherwise stays free from government and monopolistic interference, I suppose that social self-regulation is the most likely form of censorship that we can look forward to. Inevitable? Dunno, but somehow reminds me of the EU (must be my international relations degree bouncing around in my head).", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-09_03:51:07", "killed": false, "user_key": "bed977439987c464728299b875e24d6e", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 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}, "9675308": {"up_voted": false, "ip": "", "has_replies": false, "message": "This one:<br><br><i>5. We do not allow anonymous comments.<br>We require commenters to supply a valid email address before they can post, though we allow commenters to identify themselves with an alias, rather than their real name.</i><br><br>Is just fucking inane. First, tell me how you're going to prove it's a \"valid\" email address. Right, so that's crap. Secondly, if you allow them to use an alias?<br><br>THAT'S AN ANONYMOUS COMMENT.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-09_07:31:21", "killed": false, "user_key": "422187df3c45655b0dc2ae5de0710b27", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 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}, "9675309": {"up_voted": false, "ip": "", "has_replies": false, "message": "\"If you don\u2019t like this but think the idea has promise, go to wikia and engage with editing it!\"...<a href=\"http://blogging.wikia.com/index.php?title=Blogger%27s_Code_of_Conduct&amp;oldid=2235\" rel=\"nofollow\">Which I've just done</a>.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-09_07:27:29", "killed": false, "user_key": "c0d39c12cc61d431219245ce323e3b02", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 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}, "9675310": {"up_voted": false, "ip": "", "has_replies": false, "message": "Sorry Robert:<br>I accidently posted the comment above while it was intended for a completely different discussion on another blog regarding Kevin Burton's latest \"cell phone scandal\":<br><a href=\"http://www.feedblog.org/2007/04/the_ethics_of_v.html\" rel=\"nofollow\">http://www.feedblog.org/2007/04/the_ethics_of_v...</a><br><br>Anyways, I thought that since it was my error, I at least should fill you in on the story. That way you could figure out if you wanted to take responsibility for my comment. I mean, isn't that part of the new code of bloggers ethics? :-)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-13_11:00:18", "killed": false, "user_key": "19336c497a5d462a6a252d3b9468f6a9", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 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}, "9675311": {"up_voted": false, "ip": "", "has_replies": false, "message": "Remember this is only a first draft and will change. If you don't like this but think the idea has promise, go to wikia and engage with editing it!<br><br>Personally though on the whole I like it.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-09_07:21:04", "killed": false, "user_key": "c0d39c12cc61d431219245ce323e3b02", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 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}, "9675312": {"up_voted": false, "ip": "", "has_replies": false, "message": "If Tim has that much power to affect the career of bloggers, then something has gone wrong with the promise of the blogosphere.<br><br>I guess I would be more interested in open discussions about intimidation and coercion, than in a code of conduct. Nothing in the proposed code would protect Kathy as far as I can tell, and I think theres more chance of helping humans build psychological defenses against intimidation &amp; coercion, than trying to silence every troll.<br><br>'stick and stones' badge anyone?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-11_08:12:36", "killed": false, "user_key": "975df19abeedae88e6d31aad1a80a58d", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 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}, "9675313": {"up_voted": false, "ip": "", "has_replies": false, "message": "I'm not interested in this particular code of conduct. It becomes yet another tool where the upstanding have to shoulder the burden for all the infarctions of the wrongdoers. As someone who takes off his shoes once a week to board a plane, and as someone who has to repeatedly re-type capcha I get wrong, I'm not in the mood to add more requirements to my life, especially my blogging.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-09_06:41:12", "killed": false, "user_key": "2f357e9ee4d75cf12092bf9f23b13bae", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 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}, "9675314": {"up_voted": false, "ip": "", "has_replies": false, "message": "I know you all think this is vitally important, but it's not. A huge majority of the world's population go right on living their lives blissfully unaware of 99.9% of all blogs.<br><br>Enforce civility, don't enforce civility. No one but the monitor-tanned even care.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-09_18:24:28", "killed": false, "user_key": "e84dc05ee58e2f6be9b2acc57ddcef87", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 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}, "9675315": {"up_voted": false, "ip": "", "has_replies": false, "message": "@78  Hey, man. When you're right, you're right.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-09_18:07:52", "killed": false, "user_key": "26493d7270fb206c1e08599674e51e5a", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 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}, "9675316": {"up_voted": false, "ip": "", "has_replies": false, "message": "@72. What more do you want Scoble to do? He's pretty much posted his \"code of conduct\" for is blog.  He said he allows anonymous comments, but will filter out those that he deems to be \"hate speech\"--whatever he defines that as.  And he's perfectly within his rights to do so. It's his blog.  If he wants to rachet it up and only allow comments that agree with him, and only \"non-anonymous\" comments, he's can do that, too. Why should he implement someone else's \"policy\"?  It seems the majority of bloggers do have a \"code of conduct\". Some allow any and all comments, some allow commenters that register, some allow no comments.  Why should one blogger be \"encouraged\" to follow the policies of another?  If you don't like how they manage their comments, don't read their blogs. The \"free market\" will then determine the which \"policy\" they want.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-09_17:45:33", "killed": false, "user_key": "26493d7270fb206c1e08599674e51e5a", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 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}, "9675317": {"up_voted": false, "ip": "", "has_replies": false, "message": "Damn it LayZ. You're agreeing with me. I don't know what to do about that!<br><br>Thanks.<br><br>:-)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-09_17:50:01", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 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}, "9675318": {"up_voted": false, "ip": "", "has_replies": false, "message": "I agree with some of what Tim O. says, mainly because I've been blogging with my own personal 'code of conduct' in mind since the beginning -- because I know the difference between right and wrong.<br><br>What irks me, is the fact that O and his supporters think I should spell it all out rather than let my own reputation (good or bad) speak for itself.<br><br>Trolls?? If they encourage lively and somewhat intelligent debate, that's cool. Let them feel important.<br><br>As for dealing with things privately, that's so subjective it's something that needs to be done on a case by case basis. Besides, whatever happened to the blogosphere being an open discussion? Why even have a blog if you can't discuss things openly?<br><br>Oh yeah, a few idiots threatened someone. Not to downplay how unnerving and slimey that is/was, but now we all have to feel the weight of a heavy hand if  we <em>don't prove</em> we're <em>not</em> the type of person to utter death threats by subscribing to someone elses ideology?<br><br>Scoble, if you take one of those badges and put it on your site, this blog is no longer yours where you get to speak your own mind, regardless of whether you write your own code of conduct or ust O'Riley's.<br><br>BTW, the above paragraph is just my own opinion. Take it for what it's worth. Just don't govern yourself and your actions by it.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-09_17:01:26", "killed": false, "user_key": "68dc4ba57a5cdfa7ad68461422c7f1c0", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 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}, "9675319": {"up_voted": false, "ip": "", "has_replies": false, "message": "A week prior to the Kathy Sierra thing, I made my own Blogger Code of Ethics, which I think was a little less severe:<br><br><a href=\"http://jergames.blogspot.com/2007/03/blogger-code-of-ethics.html\" rel=\"nofollow\">http://jergames.blogspot.com/2007/03/blogger-co...</a><br><br>Yehuda", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-10_05:51:25", "killed": false, "user_key": "9d313f563b42dd7f262ebea05f201a17", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 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}, "9675320": {"up_voted": false, "ip": "", "has_replies": false, "message": "TomH &gt;Today you\u2019re saying you\u2019ll stick to anything goes\u2026 how exactly are you helping out?<br><br>I said I'll stick to \"anything goes\" if the only other choice is the guidelines put forward by Tim O'Reilly.<br><br>That doesn't mean I'm not making changes to my own blog space (For instance I turned on some moderation -- new posters don't get right through without being approved first) and if any hate speech of the type that Kathy Sierra gets posted here I'll remove it as quickly as humanly possible.<br><br>The \"are you with us, or against us\" attitude is one I was hoping not to see. Glad to see that you want to control my thoughts and/or speech.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-09_17:48:27", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 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}, "9675321": {"up_voted": false, "ip": "", "has_replies": false, "message": "I noticed O'Reilly has two intersting \"standards\" in his \"code of conduct:<br><br>-  infringes upon a copyright or trademark<br>- violates an obligation of confidentiality<br><br>If those are implemented, won't that pretty much shut down the majority of \"A List\" blogs?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-09_17:30:15", "killed": false, "user_key": "26493d7270fb206c1e08599674e51e5a", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 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}, "9675322": {"up_voted": false, "ip": "", "has_replies": false, "message": "@86. Exactly, Robert.  The \"code of conduct\" is the proverbial lipsitck on a pig.   Every blogger has the ability to control the tone of conversation on their blog and they don't need a \"code of conduct\" to do so. No one forces a person to read their blog, just like no one forces one to watch something in the movies or TV that they find objectionable. Just like changing the channel, don't read or subscribe to a blog if you don't like the \"conversation\".  The market will decide which ones \"win\"", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-09_23:54:10", "killed": false, "user_key": "26493d7270fb206c1e08599674e51e5a", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 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}, "9675323": {"up_voted": false, "ip": "", "has_replies": false, "message": "Tim O'Reilly notoriously stated silent on the fact that folks shouldn't be convicted in the court of public opinion. Likewise, if he were to take the high road, he might have put money where his mouth is by contributing to charities that prevent abuse against women. However, you won't see this happen as his sole goal is press...", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-09_05:48:45", "killed": false, "user_key": "1b34e4c3b93181cbb56b6df77bbedd57", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 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}, "9675324": {"up_voted": false, "ip": "", "has_replies": false, "message": "I don't think this is the solution, I believe we will have to self regulate ourselves", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-10_05:07:01", "killed": false, "user_key": "4a03e37f4a59368819a9886b59d414fe", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 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}, "9675325": {"up_voted": false, "ip": "", "has_replies": false, "message": "&gt;At least he\u2019s started a dialogue and getting involved beyond his own little space on the net.<br><br>That he has, I agree there, and said I believe he's coming from a good place here. Just that by only giving us two choices he's made it impossible to agree.<br><br>YOU came in here with an attitude of \"gotcha.\" That didn't send gestures to me that you're looking for a dialog, just wanted to smear my nose in some inconsistency.<br><br>If you want real dialog, let's talk about ways we can make the Internet nicer that actually have a chance of being implemented.<br><br>I didn't say HOW I would be involved but I never called for a code of conduct.<br><br>So, let's back up. Why do you think this code of conduct would help in Kathy Sierra's case (or in the case of Maryam, my wife, who was one of those attacked?)<br><br>I don't see that it would have kept either thing from happening and I also don't see enough people signing onto such a code to make it anything more than a club. There's already enough clubs and tribes on the Internet. That's part of the problem that caused this all to uproar in the first place.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-09_21:21:38", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 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}, "9675326": {"up_voted": false, "ip": "", "has_replies": false, "message": "One of the nice things about being a beta blogger, a beta geek and not talking at conferences is that I can blithely ignore what anybody thinks up to and including Tim O'Reilly.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-10_13:51:36", "killed": false, "user_key": "323a629587771993816f770829208ad3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 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}, "9675327": {"up_voted": false, "ip": "", "has_replies": false, "message": "Oh, and I didn't call Tim to ask him about these issues before posting this. If I had to call everyone I blog about to check what they intended behind their writing I'd just stop writing a blog. Which is just one of the reasons I don't like this code of conduct FOR ME. It might be fine for you, though.<br><br>Also, I was quoted in the New York Times today saying I'm against increasing the rules on my speech. Makes me feel like I live in Iran, I told the NYT. <a href=\"http://www.nytimes.com/2007/04/09/technology/09blog.html?ex=1333771200&amp;en=0ac52f05a37e88fd&amp;ei=5124&amp;partner=permalink&amp;exprod=permalink\" rel=\"nofollow\">http://www.nytimes.com/2007/04/09/technology/09...</a>", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-09_03:56:43", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 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}, "9675328": {"up_voted": false, "ip": "", "has_replies": false, "message": "The concept of a code of conduct for bloggers is not a new one.  As I pointed out in the comments on Tim's post, the UK company, Segala, has been going on about a code of conduct for bloggers for a little while now.  This would really have to develop into a more formal structure that accredits bloggers if this is going to be of any use.  There will be far more bloggers not party to the code than will be so there has to be a reason to listen to the smaller number of bloggers.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-09_03:57:13", "killed": false, "user_key": "17ced993c6a8f652b865bfbbdef963fe", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 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}, "9675329": {"up_voted": false, "ip": "", "has_replies": false, "message": "I didn't have time to read all the comments but it seems that a lot of folks are content to just \"agree\" that bad behavior, like what happened to Kathy Sierra, should be stopped but aren't willing to help stop it.<br><br>Robert, on this very blog you said:<br>\"The Internet culture is really disgusting. Today when I was on Justin.TV the kinds of things that people were discussing in the chat room there were just totally disgusting and over the top.<br><br>We have to fix this culture. For the next week, let\u2019s discuss how.\"<br><br>Today you're saying you'll stick to anything goes... how exactly are you helping out? What is that you're actually willing to do? Anything goes is a far cry from fixing the internet culture and is actually just enabling those that perpetuate the disgusting part.<br><br>I'm not saying you're the disgusting one... I'm saying that it's time to put up or shut up. Anyone really interested in shutting off the crap should do it instead of just talking about it when something bad happens.<br><br>You and others raised hell a week ago and said it was time to do something. Now Tim has done something, or at least started, and I see folks not saying \"yeah, thats fine, but it restricts me too much so count me out. I'm not willing to make any sacrifices.\"<br><br>You're a smart guy and you know blogging as well as anyone so where's your code of conduct? If you don't like his version then write your own draft... make good on your words and contribute.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-09_15:37:05", "killed": false, "user_key": "25780ed3082545d92a9d8ffd186608f1", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 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}, "9675330": {"up_voted": false, "ip": "", "has_replies": false, "message": "I find no pressure at all to get on board. I don't think the idea is a bad one but I think a framework would be better than a completed policy.<br><br>Perhaps a blogger code microformat? that way each blogs own code would be easily available to visitors, and each could be different.<br><br>As you have quickly found Robert, it is easy to find on e or two points that you just can't sign up to.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-09_05:36:51", "killed": false, "user_key": "1adc69408bf2dfabff0e5811711a4cbb", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 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}, "9675331": {"up_voted": false, "ip": "", "has_replies": false, "message": "I'm glad to hear that you've got some trepidation about signing on as well. I read the first part of the code and got excited that I'd be able to sign on and champion its use, but was disappointed by the end.<br><br>In my opinion, this code should be clear and concise about exactly what we won't tolerate on our blogs.<br><br>The initial list is great:<br>\"We define unacceptable content as anything included or linked to that:<br>- is being used to abuse, harass, stalk, or threaten others<br>- is libelous, knowingly false, ad-hominem, or misrepresents another person,<br>- infringes upon a copyright or trademark<br>- violates an obligation of confidentiality<br>- violates the privacy of others\"<br><br>Beyond that, the code moves into grey areas and blogging behavior (such as feeding trolls) that are harder to get on board with.<br><br>We're thinking hard about this same issue at clipmarks, and it's a fine line to draw.<br><br>Making the call about what is acceptable and what's not, specifically discerning between passionate debate and disrespectful flamewars, is hard.<br><br>At PodCampNYC <a href=\"http://www.gigapixelcreative.com/\" rel=\"nofollow\">Andrea Madho </a> suggested using a Supreme Court style odd-numbered group of arbiters from the community to vet comments. When a comment or post is flagged as objectionable, it goes to the council who votes on its appropriateness. For a larger community site like Clipmarks, turning those decisions back out to the community could help us avoid the temptation to impose our own views on the site's conversation.<br><br>It's important to recognize that as we talk about shaping the conversation to be respectful and civil, our biases can have a tendency to unintentionally creep while you're actually moderating the conversation. I've done a few turns as a slashdot meta-moderator, and I've had to actively prevent myself from dismissing a comment simply because it was passionately argued viewpoint that I disagreed with.<br><br>Everyone speaks and argues differently, but I believe many of us can agree to a code that defines clearly unacceptable behavior . Beyond that, it gets very sticky.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-09_03:53:50", "killed": false, "user_key": "6749cb0a7e069557fb6d7f8f7213b0c6", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 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}, "9675332": {"up_voted": false, "ip": "", "has_replies": false, "message": "Any code has to be voluntary, just as it is voluntary to say thank you.<br><br>The culture of the internet will change if large groups of people change their expectations of peoples behaviour. If people do not meet our expectations we treat them the say way we treat a person who is rude in a social setting.<br><br>I think the fundamental problem is that a whole chunk of the community does not think that anything on the internet is serious. Therefore anything goes.<br><br>This is serious, this culture must gain some real credibility to make any ground on these sorts of issues.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-10_22:04:38", "killed": false, "user_key": "bdc9b8ad888d2c795bdbfe7f1cb936f9", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 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}, "9675333": {"up_voted": false, "ip": "", "has_replies": false, "message": "See, posts like this are why I read you even though I'm a non-techy.<br><br>I won't be joining the Code Signees. I do have my own code, and abide by it thoroughly, and don't think I need anyone else to tell me how to behave on my own blog.<br><br>We all know that the people who inspired this code would never obey it anyway: they INTENDED to be outrageous and offensive.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-10_02:51:24", "killed": false, "user_key": "7778a7bed17dae3f103ffd8c7951e8e5", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 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}, "9675334": {"up_voted": false, "ip": "", "has_replies": false, "message": "Paul: I'll never support a blogger accreditation program.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-09_04:03:44", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 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}, "9675335": {"up_voted": false, "ip": "", "has_replies": false, "message": "The Airbag Department of Security Blog Advisory System gets my vote. Good for a laugh:<br><br><a href=\"http://www.airbagindustries.com/archives/airbag/law.php#21914\" rel=\"nofollow\">http://www.airbagindustries.com/archives/airbag...</a><br><br>credit where credit is due: found while reading <a href=\"http://daringfireball.net/\" rel=\"nofollow\">http://daringfireball.net/</a>", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-10_19:06:57", "killed": false, "user_key": "71e5f6262919a5f5f1bcbdc83295d03a", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 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}, "9675336": {"up_voted": false, "ip": "", "has_replies": false, "message": "Ignore the above comment. It was to mean:<br> ok, CoC solution is crappy. So, what do you propose?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-10_05:39:23", "killed": false, "user_key": "6566f1558fa9b77ce2f3f7605c5aa59e", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 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}, "9675337": {"up_voted": false, "ip": "", "has_replies": false, "message": "Any lottery ticket COULD win. Virtually none of them will. This is basic mathematics.<br><br>Again, you are confusing a statement that the life of a <em>junta</em> member may be filled with rivalry and intrigue - quite likely true, and not disputed - with the issue that such an insider can in general attack anyone below with no consequences.<br><br>Even literal dictators can be overthrown by their enemies or by a popular rebellion. But a dictatorship is still rife with abuse of power and lack of accountability.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-09_04:45:20", "killed": false, "user_key": "10840f959debdaad6c3b4217042eefe4", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 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}, "9675338": {"up_voted": false, "ip": "", "has_replies": false, "message": "Tim's \"code\" is largely common sense and politeness, neither of which may be appropriate for all blog sites.<br><br>I think I'll have to wear the \"anything goes\" badge as well... In fact, I think I'll create a T-Shirt..:-)<br><br>Jon<br><br>P.S. Check out the website - do you think I'll get a CnD from Apple ?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-09_03:18:11", "killed": false, "user_key": "441baaa04cbb8b237a2e6f4828dfda6b", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 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}, "9675339": {"up_voted": false, "ip": "", "has_replies": false, "message": "Sigh. My question on these is always: Who Enforces The Code Of Conduct?<br><br>Any hand-wave like \"self-regulating\" or \"the community\" means in practice, the A-list does whatever they want, due to the power imbalance.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-09_04:00:08", "killed": false, "user_key": "10840f959debdaad6c3b4217042eefe4", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 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}, "9675340": {"up_voted": false, "ip": "", "has_replies": false, "message": "I think it is generally a good thing for social media websites, including blogs, to clearly state the behavior that they expect from participants so that there are no surprises. The problem I see is that there is a whole lot of room between Tim O'Reilly's code of \"Civility Enforced\" and \"Anything Goes\".<br><br>A better approach that would better reflect the spirit of Web 2.0 would be for <a href=\"http://bloggingcode.org\" rel=\"nofollow\">bloggingcode.org</a> to enable bloggers and other social sites the capability to roll their own Code of Conduct that suits them, yet have it badged in a clear symbolic fashion. Something akin to Creative Commons licenses.<br><br>I prefer civility in the blogs I frequent and am troubled by the recent events that have brought this on but a one-size fits all solution and a sheriff's badge is not the answer.<br><br>One side question: Any lawyers out there know what kind of potential additional liability for blog comments a blog owner may face by implementing the code?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-09_04:54:27", "killed": false, "user_key": "989b097e508ba74419a03fd047671d61", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 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}, "9675341": {"up_voted": false, "ip": "", "has_replies": false, "message": "Agreed that CoC isn't the solution, but then how will \"Anything goes\" with comment moderation help?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-10_04:16:57", "killed": false, "user_key": "6566f1558fa9b77ce2f3f7605c5aa59e", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 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}, "9675342": {"up_voted": false, "ip": "", "has_replies": false, "message": "Codes of practise fall over in tightly-joined organisations like Public Relations institutes so I've got little faith in a community effort like blog labelling ever getting meaningful traction.<br><br>I run blogs that teach Chinese students how to burrow out of censorware proxies and show them how to connect to social media that does not meet with approval of The Great Firewall. If another avenue through the censors is to use the logo of the blogging code, I'll do it. I'll hang the logo to help people through the censors but I won't abide by the anonymous posting restrictions because I need my Irish trolls to stir up discussion. And when I violate the code of conduct, what happens? I doubt that Mena Trott will pull down my blog because she didn't censor herself when baited by the back channel on stage.<br><br>Visit <a href=\"http://www.sluggerotoole.com\" rel=\"nofollow\">www.sluggerotoole.com</a> and witness the cross-talk and jabbering so essential to across-the-pub discussion about community issues. What appears to be rude and unhelpful to one set of eyes appears authentic and engaging to another.<br><br>If you don't like the tone, don't listen.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-09_03:15:08", "killed": false, "user_key": "8b82bbf4de3d66cab8f3de39fa06220f", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 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}, "9675343": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert, I understand that it's not all quotes and conferences. That celebrity has a downside. However, that doesn't address my point, that there's no way for the powerless to hold the powerful to account in the proposed code of conduct. Saying it's a tough job to be a dictator (and it is - number 2 means being dead!) doesn't adress the problem with having no judicial system except friends in the <em>junta</em>.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-09_04:24:36", "killed": false, "user_key": "10840f959debdaad6c3b4217042eefe4", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 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}, "9675344": {"up_voted": false, "ip": "", "has_replies": false, "message": "We all have to self regulate our good and bad everyday.  isn't a blog a kind of projection of that? I like your blog because it's honest (except on April 1st)<br>If blogs are like the old west, a code may create a group of vigilante enforcers.  I would much rather find  my own hero than trust a badge.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-09_03:35:10", "killed": false, "user_key": "2422a2265d42827053c54ec0d1509e7a", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 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}, "9675345": {"up_voted": false, "ip": "", "has_replies": false, "message": "The one that jumped out at me was \"- infringes upon a copyright or trademark\" for the reason of, determined by who? It seems like overkill and too litigious minded.<br><br>Overall I think the code goes to far, it needs to broaden a bit", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-09_03:05:54", "killed": false, "user_key": "9c9bbbf2935a01d2c3513b04f95afd29", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 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}, "9675346": {"up_voted": false, "ip": "", "has_replies": false, "message": "Code of conduct? Those that would follow it already do follow a sensible approach to online interaction that mirrors their offline approach. Those that will not, will still not. I do not want to be negative but laws apply whether online or offline, but the degree of evidence left by online nastiness allows the law to be more effective. The only deficiency I see with standard law online is one of which law? which legal definition?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-09_04:43:43", "killed": false, "user_key": "4ec436417768b63a58fa3a86b5615d35", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 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}, "9675347": {"up_voted": false, "ip": "", "has_replies": false, "message": "I can't give examples because of the implications. But they are not difficult to find.<br><br>But that's a bit like saying \"I dare you to become dictator and start killing people - you'll get called names and the best people will flee the country\". None of which prevents dictatorships from existing.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-09_05:10:55", "killed": false, "user_key": "10840f959debdaad6c3b4217042eefe4", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 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}, "9675348": {"up_voted": false, "ip": "", "has_replies": false, "message": "I agree with you on the \"no anonymous posting\" bit.  I read your blog regularly, but I rarely comment (this post being one of those rare exceptions).  If I had to register or go through some sort of e-mail verification procedure each time, quite frankly I wouldn't bother.  Now, given the relative sparseness of my comments, individually I probably wouldn't be all that great a loss.  However, I think that the overall level of conversation benefits from people who see a post they're interested in being able to easily dash off a quick comment.  The more obstacles that are put in the way of casual or one-time posters, the more insular a community will become (I see this phenomena alot on various forums or message boards that require registration).  In contrast, a blog that allows quick and easy comments is going to have a lot more fresh blood and encourage people to speak up, rather than just having the same old folks rehashing things again and again. Enabling anonymous comments encourages readers to become part of the conversation.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-09_03:15:23", "killed": false, "user_key": "6f5084d0ea3ac563a93acdb4f47cda71", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 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}, "9675349": {"up_voted": false, "ip": "", "has_replies": false, "message": "I have fewer friends in the junta than you might think.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-09_04:34:37", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 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}, "9675350": {"up_voted": false, "ip": "", "has_replies": false, "message": "Seth: that's laughable.<br><br>I dare you to get A list status and then start attacking those with lower status, whether real or just perceived.<br><br>You'll get called every name in the book, starting with arrogant egotistical etc.<br><br>You'll also see your best readers unsubscribe.<br><br>Why do I know this? I'm going to take the fifth now. :-)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-09_04:56:33", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 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}, "9675351": {"up_voted": false, "ip": "", "has_replies": false, "message": "This is the part that I don't like:<br><br><i>I do find disquieting the social pressure to get on board with this program. Tim O\u2019Reilly is a guy who really can affect one\u2019s career online (and off, too). I do have to admit that I feel some pressure just to get on board here and that makes me feel very uneasy.</i><br><br>I allow anonymous comments, partially because I have students that come and comment and don't really know these supposed rules of blogging. If someone attacks me, I ignore or delete (per my sidebar on comments).<br><br>If Tim does use his power to force others into it, well, that will just suck and ruin a lot of what blogging is supposed to be about. And, well, I'm ignoring the whole Western / US-centric mindset to the argument.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-09_03:36:56", "killed": false, "user_key": "9cb143b1435ed7541f385b3350ddcdfc", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 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}, "9675352": {"up_voted": false, "ip": "", "has_replies": false, "message": "Seth: well, at least in my case, I disagree. I read everything people write about me and take it all seriously. Even someone with only two readers gets heard by me and, if I do something that pisses off even a small group of people it DOES get heard (and sometimes very loudly).<br><br>Just watch Twitter. I'm listening to 2500 people there. Any one of them could get heard.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-09_04:33:49", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 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}, "9675353": {"up_voted": false, "ip": "", "has_replies": false, "message": "First off a blogger code of conduct is certainly a LOT better than any form of accreditation but I think the Tim O'Reilly code is a bit too detailed.<br><br>A better code would be one that kept to a few basic bullet points - a sort of 'this is what we're not' for bloggers.<br><br>The Beeb recently went through a long winded staff consultation process to come up with a code of conduct for staff bloggers and in the end the best approach was the simplest one.<br><br>I think that approach would work well across the blogosphere - and as has already been mentioned the first part of the code would be enough.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-09_04:33:54", "killed": false, "user_key": "f5d88bdc4dc33ebe9dc3b3098a76d548", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 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}, "9675354": {"up_voted": false, "ip": "", "has_replies": false, "message": "I agree that \"code of Conduct\" is not a quick fix solution to help prevent abuses/threats online. But in the long run, I guess it will help create a better ecosystem. (not the either-white-or-black CoC as suggested by TO. I guess he'll modify it to be more flexible and is taking the initial feedback seriously.) Comment moderation is one thing that helps. But that's one sided effort. When a CoC is published or subscribed to, it lets the reader know/get-educated as to what contents you and your blog entertains. When many top bloggers subscribe to some CoC as guidelines (and not rule), others follow  and it helps create a better blogger ecosystem where respectful conversations can take place, as people know what kind of a dialog you expect and what they can expect from you. The idea of having a badge that represents some value-system we subscribe to and showing it at the comments space sounds like an incredible and simple first(though not the only) step  to me. Why is it that we are ok/put up with anything online but not so in real world? When meankids site owner _later_ says that \"what it later became was not the initial intent of the site\", then why not publish it's intent? [And it's not just the comments but even the posts on it crossed the line of civility.] Publishing a CoC not only helps stop unwanted content on your blog but also to protect yourself/your blog against being abused as was the case with meadkids site. If all the bloggers of the meankids site had subscribed to that _original-intent_ would it have all those nasty posts? If that _original_intent_ was published, would it have all of those comments?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-10_04:09:18", "killed": false, "user_key": "6566f1558fa9b77ce2f3f7605c5aa59e", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 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}, "9675355": {"up_voted": false, "ip": "", "has_replies": false, "message": "At the end of the day this code of conduct thing is just a way for people with an overly high opinion of their own importance to try and impress everyone with how important they are.<br><br>Those who would take notice of such a code (lets leave the other obvious flaws aside because they've been done to death) don't need such a code. Those who you would most want to abide by it will either remain unaware that it exists or take great delight in playing with its limits. I'm sure you remember how things were in a certain CoffeeHouse, Robert.<br><br>And the badges... maybe they're an American thing but they seem awfully trite and childish to me. (I mean the concept of badges at all, not the obvious cultural bias in the designs offered)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-10_14:47:01", "killed": false, "user_key": "d216a3045bcaf78d8f5dae7bc6f42f4a", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 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}, "9675356": {"up_voted": false, "ip": "", "has_replies": false, "message": "Jeremy: I think Tim is coming from a good place here, it's just that he might be a bit tone deaf to his role in the industry and how much pressure that can bring to bear.<br><br>Will I stop getting invited to events of his, for instance, if I don't sign the agreement? I don't know, but the fact that he put this code out there makes me  uneasy because it raises just those kinds of issues and I hope that Tim didn't mean for them to be raised.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-09_03:44:06", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 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}, "9675357": {"up_voted": false, "ip": "", "has_replies": false, "message": "Seth: someday I'd love for you to be an A-lister. It's not as much fun as you might expect. The closer you get to real celebrity the more some people want to rip you down. And, when you have a career on the line rather than just a blog that 18 people are reading you tend to be more careful about how you behave. Of course there are exceptions! But I don't have enough money to ride out any storm.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-09_04:02:47", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 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}, "9675358": {"up_voted": false, "ip": "", "has_replies": false, "message": "Anything goes! :)<br>I'm going to take the same approach.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-09_23:12:15", "killed": false, "user_key": "0eb030efdec1988f2c3f2ee15de40f88", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 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}, "9675359": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert: \"glad you want to control my thoughts and/or speech\"<br><br>?... are you kidding me?<br><br>If I wanted to control your thoughts, well, thats not possible so lets move onto speech. I wouldn't try to engage you into a dialogue IF I wanted to control you. I would go to another outlet and try to force you to adhere to a code of conduct. There's a huge difference, but you know that.<br><br>I suspect you took a cheap \"look! here come the censors!\" approach because you didn't have much more to offer. That's my point.<br><br>This whole conduct thing and \"fixing the culture\" as you proclaimed you wanted to do, is going to take a lot more than you acknowledging it and turning on some comment moderation. Way to go... Scoble moderates a little more... that'll show 'em. Oh yeah, he cares too... he said so on his blog.<br><br>You're the one that started a fuss and said you were starting a dialogue about how to clean it up. Is more moderation on your blog gonna do much? No, but it'll make you feel better, almost like you did something worthwhile.<br><br>Before you run off and take shots at Tim's work you should produce something yourself. At least he's started a dialogue and getting involved beyond his own little space on the net.<br><br>Next time you pop off about changing things you might want to be prepared to carry through.<br><br>BTW, I never said \"with us or against us\"... you did. I only asked you to follow through on your previously declared intent to clean it up. I wouldn't have said one word about it had you not jumped on horn and acted like you were going to get involved.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-09_21:09:18", "killed": false, "user_key": "25780ed3082545d92a9d8ffd186608f1", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 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}, "9675360": {"up_voted": false, "ip": "", "has_replies": false, "message": "This morning I came across Seeking Media. This is an online press release platform that enables you to send your news directly to press, broadcast and online media at the click of a button, quickly, easily and cost- effectively, from anywhere at any time. Google has listed this site as an important source of news items. Sounds like it is worth a look next time you\u2019 re doing a media releas", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-07-03_14:31:57", "killed": false, "user_key": "55d4b2faf2aef76131d2ae81e9645aff", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year 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}, "9675361": {"up_voted": false, "ip": "", "has_replies": false, "message": "TrackBack clients need a method of determining the TrackBack Ping URL for a particular URL. If a resource is courteous, they will have embedded the information necessary to make a TrackBack ping. (This is the same information that the MTEntryTrackBackData will insert into a template.) This information allows the TrackBack client to auto- discover the TrackBack Ping URL and send the ping without further data entry or intervention from the user.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-05-26_06:41:40", "killed": false, "user_key": "5f97ee08649d6a32bf23eef33689681a", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year 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}, "9675362": {"up_voted": false, "ip": "", "has_replies": false, "message": "This morning I came across Seeking Media. This is an online press release platform that enables you to send your news directly to press, broadcast and online media at the click of a button, quickly, easily and cost- effectively, from anywhere at any time. Google has listed this site as an important source of news items. Sounds like it is worth a look next time you\u2019 re doing a media release.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-05-28_16:55:37", "killed": false, "user_key": "7d1716052180cadfc550cd57bea86f41", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year 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}, "9675363": {"up_voted": false, "ip": "", "has_replies": false, "message": "Google has listed this site as an important source of news items. Sounds like it is worth a look next time you\u2019 re doing a media releas", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-09-09_16:25:06", "killed": false, "user_key": "b5d317114d4c4a7762ab66e77fd0002a", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year 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}, "9675364": {"up_voted": false, "ip": "", "has_replies": false, "message": "<a href=\"http://www.viptravesti.com/\" rel=\"nofollow\">travesti</a>", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-12-03_20:44:28", "killed": false, "user_key": "55d4b2faf2aef76131d2ae81e9645aff", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year 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}, "9675365": {"up_voted": false, "ip": "", "has_replies": false, "message": "When there is a code in place - the most interesting blogs will become the ones that tread closest to the edges. :)<br>Rules are for a reason - they are meant to be broken and its a lot of fun when they are.<br><br>thanks", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-12-26_17:59:10", "killed": false, "user_key": "8f98c4855ef8454da20cc8c71c4a5da9", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "11 months 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}, "9675366": {"up_voted": false, "ip": "", "has_replies": false, "message": "I spent the last two years writing about my optimism about blogs and the wonderful opportunity it gave us. I was so wrong. The threatening emails, photos, outright lying posts, and having all my personal data (ss, home address, etc.) posted all over the net SINCE I went public have proved that to me once and for all.<br><br>very nice", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-12-26_18:00:13", "killed": false, "user_key": "11236cee0c868542c7aa865bdaafcaa9", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "11 months 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}, "9675367": {"up_voted": false, "ip": "", "has_replies": false, "message": "It may not have been Tim\u2019s original intent, but people are already starting to use this to draw a black-and-white line between \u201cfollows the \u2018Civility Enforced\u2019 rules and \u2018Anything Goes\u2019.\u201d Which is nonsense. There is a lot of room for bloggers of good faith who don\u2019t agree with with one or more of the (in my opinion overbearing) O\u2019Reilly-backed rules to run civil upstanding blogs, but they\u2019re going to get lumped in with the freefire zones as this debate degenerates to namecalling.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-12-26_18:01:12", "killed": false, "user_key": "e5af1d190c7fbcc58bbf6b0f74f20a90", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "11 months 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}, "9675368": {"up_voted": false, "ip": "", "has_replies": false, "message": "When meankids site owner _later_ says that \u201cwhat it later became was not the initial intent of the site\u201d, then why not publish it\u2019s intent? [And it's not just the comments but even the posts on it crossed the line of civility.] Publishing a CoC not only helps stop unwanted content on your blog but also to protect yourself/your blog against being abused as was the case with meadkids site. If all the bloggers of the meankids site had subscribed to that _original-intent_ would it have all those nasty posts?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2009-01-08_23:06:13", "killed": false, "user_key": "06acf81c81dc1c50b2d8c8e105c6a7d9", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "11 months 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}, "9675369": {"up_voted": false, "ip": "", "has_replies": false, "message": "avidly was subjected to death threats and a lot of abuse on the internet. Her name is Kathy Sierra and while she still does things, the personal connection I had is long over with. The death threats and harassment were deemed to be out of line, which is good, most of us do not want to participate in that kind of environment anyways. What came out of that incident though was the", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2009-02-02_12:26:27", "killed": false, "user_key": "f12d3306a49df8058a882e9f97c1a58b", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "10 months 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}, "9675370": {"up_voted": false, "ip": "", "has_replies": false, "message": "The death threats and harassment were deemed to be out of line, which is good, most of us do not want to participate in that kind of environment anyways. What came out of that incident though was the", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2009-02-02_12:27:10", "killed": false, "user_key": "83f1b13891ce8846d62316801f576877", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "10 months 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}, "13441212": {"up_voted": false, "ip": "", "has_replies": false, "message": "escort bayan , bayan escort , escort turkiye , eskort kizlar , escort bayanlar, turk escortlar<br><br><a href=\"http://www.escortbayanseray.com\" rel=\"nofollow\">www.escortbayanseray.com</a>", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2009-07-28_07:35:58", "killed": false, "user_key": "escortseray", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "4 months 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": "18349754", "user_id": "anonymous", "forum_id": "125200", "hash": -298166370012518280}, "thread": {"total_posts": 0, "paginate": false, "per_page": 0, "slug": "code_of_conduct_or_not", "num_pages": 1, "days_alive": 0, "realtime_paused": true, "id": 18349754, "num_posts": 94, "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=code_of_conduct_or_not' +
		'&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/code_of_conduct_or_not/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='	+ 'code_of_conduct_or_not'
			+ '&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/code_of_conduct_or_not/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">94</span> Comments\
	 &nbsp;\
	 <span class="dsq-item-feed">\
	 <a href="http://scobleizer.disqus.com/code_of_conduct_or_not/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/code_of_conduct_or_not/">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/code_of_conduct_or_not/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:18349754" 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'				: 'code_of_conduct_or_not',
			// 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/code_of_conduct_or_not/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='	+ 'code_of_conduct_or_not'
			+ '&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='	+ 'code_of_conduct_or_not'
			+ '&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='		+ 'code_of_conduct_or_not'
				+ '&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/18349754/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-9675345">\
	 <div id="dsq-comment-header-9675345" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675345" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9675345" href="http://christianburns.wordpress.com/" target="_blank" rel="nofollow">Christian Burns</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675345" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675345" class="dsq-comment-message">The one that jumped out at me was "- infringes upon a copyright or trademark" for the reason of, determined by who? It seems like overkill and too litigious minded.<br><br>Overall I think the code goes to far, it needs to broaden a bit</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675342">\
	 <div id="dsq-comment-header-9675342" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675342" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9675342" href="http://podcasting.ie/" target="_blank" rel="nofollow">Bernie Goldbach</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675342" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675342" class="dsq-comment-message">Codes of practise fall over in tightly-joined organisations like Public Relations institutes so I\'ve got little faith in a community effort like blog labelling ever getting meaningful traction.<br><br>I run blogs that teach Chinese students how to burrow out of censorware proxies and show them how to connect to social media that does not meet with approval of The Great Firewall. If another avenue through the censors is to use the logo of the blogging code, I\'ll do it. I\'ll hang the logo to help people through the censors but I won\'t abide by the anonymous posting restrictions because I need my Irish trolls to stir up discussion. And when I violate the code of conduct, what happens? I doubt that Mena Trott will pull down my blog because she didn\'t censor herself when baited by the back channel on stage.<br><br>Visit <a href="http://www.sluggerotoole.com" rel="nofollow">www.sluggerotoole.com</a> and witness the cross-talk and jabbering so essential to across-the-pub discussion about community issues. What appears to be rude and unhelpful to one set of eyes appears authentic and engaging to another.<br><br>If you don\'t like the tone, don\'t listen.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675348">\
	 <div id="dsq-comment-header-9675348" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675348" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9675348">Chris</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675348" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675348" class="dsq-comment-message">I agree with you on the "no anonymous posting" bit.  I read your blog regularly, but I rarely comment (this post being one of those rare exceptions).  If I had to register or go through some sort of e-mail verification procedure each time, quite frankly I wouldn\'t bother.  Now, given the relative sparseness of my comments, individually I probably wouldn\'t be all that great a loss.  However, I think that the overall level of conversation benefits from people who see a post they\'re interested in being able to easily dash off a quick comment.  The more obstacles that are put in the way of casual or one-time posters, the more insular a community will become (I see this phenomena alot on various forums or message boards that require registration).  In contrast, a blog that allows quick and easy comments is going to have a lot more fresh blood and encourage people to speak up, rather than just having the same old folks rehashing things again and again. Enabling anonymous comments encourages readers to become part of the conversation.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675338">\
	 <div id="dsq-comment-header-9675338" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675338" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9675338" href="http://www.macinations.net/test" target="_blank" rel="nofollow">Jon Biddell</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675338" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675338" class="dsq-comment-message">Tim\'s "code" is largely common sense and politeness, neither of which may be appropriate for all blog sites.<br><br>I think I\'ll have to wear the "anything goes" badge as well... In fact, I think I\'ll create a T-Shirt..:-)<br><br>Jon<br><br>P.S. Check out the website - do you think I\'ll get a CnD from Apple ?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675344">\
	 <div id="dsq-comment-header-9675344" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675344" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9675344" href="http://www.minicooper.tumblr.com/" target="_blank" rel="nofollow">Greg Birch</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675344" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675344" class="dsq-comment-message">We all have to self regulate our good and bad everyday.  isn\'t a blog a kind of projection of that? I like your blog because it\'s honest (except on April 1st)<br>If blogs are like the old west, a code may create a group of vigilante enforcers.  I would much rather find  my own hero than trust a badge.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675351">\
	 <div id="dsq-comment-header-9675351" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675351" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9675351" href="http://pop-pr.blogspot.com/" target="_blank" rel="nofollow">Jeremy Pepper</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675351" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675351" class="dsq-comment-message">This is the part that I don\'t like:<br><br><i>I do find disquieting the social pressure to get on board with this program. Tim O’Reilly is a guy who really can affect one’s career online (and off, too). I do have to admit that I feel some pressure just to get on board here and that makes me feel very uneasy.</i><br><br>I allow anonymous comments, partially because I have students that come and comment and don\'t really know these supposed rules of blogging. If someone attacks me, I ignore or delete (per my sidebar on comments).<br><br>If Tim does use his power to force others into it, well, that will just suck and ruin a lot of what blogging is supposed to be about. And, well, I\'m ignoring the whole Western / US-centric mindset to the argument.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675356">\
	 <div id="dsq-comment-header-9675356" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675356" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9675356" href="http://scobleizer.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675356" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675356" class="dsq-comment-message">Jeremy: I think Tim is coming from a good place here, it\'s just that he might be a bit tone deaf to his role in the industry and how much pressure that can bring to bear.<br><br>Will I stop getting invited to events of his, for instance, if I don\'t sign the agreement? I don\'t know, but the fact that he put this code out there makes me  uneasy because it raises just those kinds of issues and I hope that Tim didn\'t mean for them to be raised.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675306">\
	 <div id="dsq-comment-header-9675306" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675306" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9675306">Anonymous Person</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675306" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675306" class="dsq-comment-message">I wouldn\'t use that badge or code in its current form, because I disagree with a few minor points, and because the "Civility Enforced" badge has an unpleasant vibe to me.<br><br>Also, this whole thing seems to me a solution in search of a problem. I think most weblogs and forums are perfectly able to establish their own codes of conduct, either formally or informally, badges or not.<br><br>Would the whole Kathy Sierra incident have been different if the site in question had an "Anything Goes" badge? I don\'t think so.<br><br>I\'m posting this anonymously because I have worked with O\'Reilly and probably will again, and I too feel pressure. How would taking away this anonymity help?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675307">\
	 <div id="dsq-comment-header-9675307" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675307" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9675307">thanks for the anonymity</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675307" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675307" class="dsq-comment-message">Man, sometimes I think of you as the Nascar Dad of blogging, and I\'m in a different demographic.<br><br>But this post was great -- yes, civil liberties have a social cost and we should be (and feel) free to pay them. The alternatives are worse. And bonus points for the pithy lines about gutter-wrestling trolls.<br><br>Assuming that the internet otherwise stays free from government and monopolistic interference, I suppose that social self-regulation is the most likely form of censorship that we can look forward to. Inevitable? Dunno, but somehow reminds me of the EU (must be my international relations degree bouncing around in my head).</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675331">\
	 <div id="dsq-comment-header-9675331" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675331" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9675331" href="http://clipmarks.com/" target="_blank" rel="nofollow">Eric Skiff</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675331" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675331" class="dsq-comment-message">I\'m glad to hear that you\'ve got some trepidation about signing on as well. I read the first part of the code and got excited that I\'d be able to sign on and champion its use, but was disappointed by the end.<br><br>In my opinion, this code should be clear and concise about exactly what we won\'t tolerate on our blogs.<br><br>The initial list is great:<br>"We define unacceptable content as anything included or linked to that:<br>- is being used to abuse, harass, stalk, or threaten others<br>- is libelous, knowingly false, ad-hominem, or misrepresents another person,<br>- infringes upon a copyright or trademark<br>- violates an obligation of confidentiality<br>- violates the privacy of others"<br><br>Beyond that, the code moves into grey areas and blogging behavior (such as feeding trolls) that are harder to get on board with.<br><br>We\'re thinking hard about this same issue at clipmarks, and it\'s a fine line to draw.<br><br>Making the call about what is acceptable and what\'s not, specifically discerning between passionate debate and disrespectful flamewars, is hard.<br><br>At PodCampNYC <a href="http://www.gigapixelcreative.com/" rel="nofollow">Andrea Madho </a> suggested using a Supreme Court style odd-numbered group of arbiters from the community to vet comments. When a comment or post is flagged as objectionable, it goes to the council who votes on its appropriateness. For a larger community site like Clipmarks, turning those decisions back out to the community could help us avoid the temptation to impose our own views on the site\'s conversation.<br><br>It\'s important to recognize that as we talk about shaping the conversation to be respectful and civil, our biases can have a tendency to unintentionally creep while you\'re actually moderating the conversation. I\'ve done a few turns as a slashdot meta-moderator, and I\'ve had to actively prevent myself from dismissing a comment simply because it was passionately argued viewpoint that I disagreed with.<br><br>Everyone speaks and argues differently, but I believe many of us can agree to a code that defines clearly unacceptable behavior . Beyond that, it gets very sticky.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675327">\
	 <div id="dsq-comment-header-9675327" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675327" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9675327" href="http://scobleizer.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675327" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675327" class="dsq-comment-message">Oh, and I didn\'t call Tim to ask him about these issues before posting this. If I had to call everyone I blog about to check what they intended behind their writing I\'d just stop writing a blog. Which is just one of the reasons I don\'t like this code of conduct FOR ME. It might be fine for you, though.<br><br>Also, I was quoted in the New York Times today saying I\'m against increasing the rules on my speech. Makes me feel like I live in Iran, I told the NYT. <a href="http://www.nytimes.com/2007/04/09/technology/09blog.html?ex=1333771200&amp;en=0ac52f05a37e88fd&amp;ei=5124&amp;partner=permalink&amp;exprod=permalink" rel="nofollow">http://www.nytimes.com/2007/04/09/technology/09...</a></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675328">\
	 <div id="dsq-comment-header-9675328" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675328" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9675328" href="http://wiredgecko.net/" target="_blank" rel="nofollow">Paul Jacobson</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675328" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675328" class="dsq-comment-message">The concept of a code of conduct for bloggers is not a new one.  As I pointed out in the comments on Tim\'s post, the UK company, Segala, has been going on about a code of conduct for bloggers for a little while now.  This would really have to develop into a more formal structure that accredits bloggers if this is going to be of any use.  There will be far more bloggers not party to the code than will be so there has to be a reason to listen to the smaller number of bloggers.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675339">\
	 <div id="dsq-comment-header-9675339" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675339" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9675339" href="http://sethf.com/" target="_blank" rel="nofollow">Seth Finkelstein</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675339" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675339" class="dsq-comment-message">Sigh. My question on these is always: Who Enforces The Code Of Conduct?<br><br>Any hand-wave like "self-regulating" or "the community" means in practice, the A-list does whatever they want, due to the power imbalance.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675357">\
	 <div id="dsq-comment-header-9675357" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675357" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9675357" href="http://scobleizer.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675357" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675357" class="dsq-comment-message">Seth: someday I\'d love for you to be an A-lister. It\'s not as much fun as you might expect. The closer you get to real celebrity the more some people want to rip you down. And, when you have a career on the line rather than just a blog that 18 people are reading you tend to be more careful about how you behave. Of course there are exceptions! But I don\'t have enough money to ride out any storm.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675334">\
	 <div id="dsq-comment-header-9675334" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675334" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9675334" href="http://scobleizer.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675334" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675334" class="dsq-comment-message">Paul: I\'ll never support a blogger accreditation program.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675343">\
	 <div id="dsq-comment-header-9675343" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675343" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9675343" href="http://sethf.com/" target="_blank" rel="nofollow">Seth Finkelstein</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675343" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675343" class="dsq-comment-message">Robert, I understand that it\'s not all quotes and conferences. That celebrity has a downside. However, that doesn\'t address my point, that there\'s no way for the powerless to hold the powerful to account in the proposed code of conduct. Saying it\'s a tough job to be a dictator (and it is - number 2 means being dead!) doesn\'t adress the problem with having no judicial system except friends in the <em>junta</em>.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675352">\
	 <div id="dsq-comment-header-9675352" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675352" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9675352" href="http://scobleizer.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675352" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675352" class="dsq-comment-message">Seth: well, at least in my case, I disagree. I read everything people write about me and take it all seriously. Even someone with only two readers gets heard by me and, if I do something that pisses off even a small group of people it DOES get heard (and sometimes very loudly).<br><br>Just watch Twitter. I\'m listening to 2500 people there. Any one of them could get heard.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675353">\
	 <div id="dsq-comment-header-9675353" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675353" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9675353" href="http://www.upyourego.com/blog/" target="_blank" rel="nofollow">Ryan Morrison</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675353" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675353" class="dsq-comment-message">First off a blogger code of conduct is certainly a LOT better than any form of accreditation but I think the Tim O\'Reilly code is a bit too detailed.<br><br>A better code would be one that kept to a few basic bullet points - a sort of \'this is what we\'re not\' for bloggers.<br><br>The Beeb recently went through a long winded staff consultation process to come up with a code of conduct for staff bloggers and in the end the best approach was the simplest one.<br><br>I think that approach would work well across the blogosphere - and as has already been mentioned the first part of the code would be enough.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675349">\
	 <div id="dsq-comment-header-9675349" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675349" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9675349" href="http://scobleizer.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675349" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675349" class="dsq-comment-message">I have fewer friends in the junta than you might think.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675346">\
	 <div id="dsq-comment-header-9675346" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675346" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9675346" href="http://nocky100.vox.com/" target="_blank" rel="nofollow">Ian Nock</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675346" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675346" class="dsq-comment-message">Code of conduct? Those that would follow it already do follow a sensible approach to online interaction that mirrors their offline approach. Those that will not, will still not. I do not want to be negative but laws apply whether online or offline, but the degree of evidence left by online nastiness allows the law to be more effective. The only deficiency I see with standard law online is one of which law? which legal definition?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675337">\
	 <div id="dsq-comment-header-9675337" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675337" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9675337" href="http://sethf.com/" target="_blank" rel="nofollow">Seth Finkelstein</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675337" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675337" class="dsq-comment-message">Any lottery ticket COULD win. Virtually none of them will. This is basic mathematics.<br><br>Again, you are confusing a statement that the life of a <em>junta</em> member may be filled with rivalry and intrigue - quite likely true, and not disputed - with the issue that such an insider can in general attack anyone below with no consequences.<br><br>Even literal dictators can be overthrown by their enemies or by a popular rebellion. But a dictatorship is still rife with abuse of power and lack of accountability.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675340">\
	 <div id="dsq-comment-header-9675340" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675340" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9675340" href="http://www.smoblog.com/" target="_blank" rel="nofollow">mblair</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675340" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675340" class="dsq-comment-message">I think it is generally a good thing for social media websites, including blogs, to clearly state the behavior that they expect from participants so that there are no surprises. The problem I see is that there is a whole lot of room between Tim O\'Reilly\'s code of "Civility Enforced" and "Anything Goes".<br><br>A better approach that would better reflect the spirit of Web 2.0 would be for <a href="http://bloggingcode.org" rel="nofollow">bloggingcode.org</a> to enable bloggers and other social sites the capability to roll their own Code of Conduct that suits them, yet have it badged in a clear symbolic fashion. Something akin to Creative Commons licenses.<br><br>I prefer civility in the blogs I frequent and am troubled by the recent events that have brought this on but a one-size fits all solution and a sheriff\'s badge is not the answer.<br><br>One side question: Any lawyers out there know what kind of potential additional liability for blog comments a blog owner may face by implementing the code?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675350">\
	 <div id="dsq-comment-header-9675350" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675350" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9675350" href="http://scobleizer.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675350" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675350" class="dsq-comment-message">Seth: that\'s laughable.<br><br>I dare you to get A list status and then start attacking those with lower status, whether real or just perceived.<br><br>You\'ll get called every name in the book, starting with arrogant egotistical etc.<br><br>You\'ll also see your best readers unsubscribe.<br><br>Why do I know this? I\'m going to take the fifth now. :-)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675347">\
	 <div id="dsq-comment-header-9675347" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675347" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9675347" href="http://sethf.com/" target="_blank" rel="nofollow">Seth Finkelstein</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675347" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675347" class="dsq-comment-message">I can\'t give examples because of the implications. But they are not difficult to find.<br><br>But that\'s a bit like saying "I dare you to become dictator and start killing people - you\'ll get called names and the best people will flee the country". None of which prevents dictatorships from existing.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675330">\
	 <div id="dsq-comment-header-9675330" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675330" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9675330" href="http://www.rickmann-design.co.uk/" target="_blank" rel="nofollow">Andrew Rickmann</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675330" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675330" class="dsq-comment-message">I find no pressure at all to get on board. I don\'t think the idea is a bad one but I think a framework would be better than a completed policy.<br><br>Perhaps a blogger code microformat? that way each blogs own code would be easily available to visitors, and each could be different.<br><br>As you have quickly found Robert, it is easy to find on e or two points that you just can\'t sign up to.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675323">\
	 <div id="dsq-comment-header-9675323" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675323" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9675323" href="http://duckdown.blogspot.com/" target="_blank" rel="nofollow">James</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675323" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675323" class="dsq-comment-message">Tim O\'Reilly notoriously stated silent on the fact that folks shouldn\'t be convicted in the court of public opinion. Likewise, if he were to take the high road, he might have put money where his mouth is by contributing to charities that prevent abuse against women. However, you won\'t see this happen as his sole goal is press...</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675313">\
	 <div id="dsq-comment-header-9675313" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675313" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9675313" href="http://chrisbrogan.com/" target="_blank" rel="nofollow">Chris Brogan...</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675313" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675313" class="dsq-comment-message">I\'m not interested in this particular code of conduct. It becomes yet another tool where the upstanding have to shoulder the burden for all the infarctions of the wrongdoers. As someone who takes off his shoes once a week to board a plane, and as someone who has to repeatedly re-type capcha I get wrong, I\'m not in the mood to add more requirements to my life, especially my blogging.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675311">\
	 <div id="dsq-comment-header-9675311" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675311" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9675311" href="http://dan100.blogspot.com/" target="_blank" rel="nofollow">Dan G</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675311" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675311" class="dsq-comment-message">Remember this is only a first draft and will change. If you don\'t like this but think the idea has promise, go to wikia and engage with editing it!<br><br>Personally though on the whole I like it.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675309">\
	 <div id="dsq-comment-header-9675309" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675309" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9675309" href="http://dan100.blogspot.com/" target="_blank" rel="nofollow">Dan G</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675309" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675309" class="dsq-comment-message">"If you don’t like this but think the idea has promise, go to wikia and engage with editing it!"...<a href="http://blogging.wikia.com/index.php?title=Blogger%27s_Code_of_Conduct&amp;oldid=2235" rel="nofollow">Which I\'ve just done</a>.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675308">\
	 <div id="dsq-comment-header-9675308" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675308" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9675308" href="http://www.bynkii.com/" target="_blank" rel="nofollow">John C. Welch</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675308" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675308" class="dsq-comment-message">This one:<br><br><i>5. We do not allow anonymous comments.<br>We require commenters to supply a valid email address before they can post, though we allow commenters to identify themselves with an alias, rather than their real name.</i><br><br>Is just fucking inane. First, tell me how you\'re going to prove it\'s a "valid" email address. Right, so that\'s crap. Secondly, if you allow them to use an alias?<br><br>THAT\'S AN ANONYMOUS COMMENT.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675303">\
	 <div id="dsq-comment-header-9675303" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675303" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9675303" href="http://www.bynkii.com/" target="_blank" rel="nofollow">John C. Welch</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675303" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675303" class="dsq-comment-message">Goddamnit Robert, you ate my morning with this, because there\'s no WAY i\'m waiting to post something about THIS level of bullshit:<br><br><a href="http://www.bynkii.com/archives/2007/04/tim_oreilly_has_lost_his_mind.html" rel="nofollow">http://www.bynkii.com/archives/2007/04/tim_orei...</a></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675304">\
	 <div id="dsq-comment-header-9675304" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675304" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9675304" href="http://www.distanttarget.com/" target="_blank" rel="nofollow">billg</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675304" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675304" class="dsq-comment-message">As a suggested or recommended roster of professional ethics, a code of conduct is a mark of a maturing industry. But, an intent to police this in some fashion smacks of vigilantism. This kind of thing only works in professions like medicine and law where the professional associations can remove the license that\'s needed to practice.<br><br>What this flap ought to do is remind us all that putting content -- a comment -- on someone else\'s publication is a privilege, not a right. A blog is not a public bulletin board unless the person running the blog says it is.  Even then you can\'t escape responsibility for everything that\'s published on your blog.  The software allows us to authenticate comments, moderate them, etc.  It\'s our decision and the results are our responsibility.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675302">\
	 <div id="dsq-comment-header-9675302" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675302" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9675302" href="http://www.bynkii.com/" target="_blank" rel="nofollow">John C. Welch</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675302" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675302" class="dsq-comment-message">Dan, I don\'t want to "engage with editing it". First of all, stop using engage that way, it\'s inane. Secondly, I don\'t want my name to be directly tied to something that astoundingly stupid. You want to try to legislate civility, that\'s your windmill. Me? Not my farm, not my pig, and I\'ll thank you and the rest of the politeness patrol to stay the hell away <i>from</i> both my farm and my pig.<br><br>Especially since you\'re so eager to hound people you don\'t like off the internet. In fact, reading more of your blog, you\'re all about "guilty until proven innocent" with a nice side helping of "if you\'re accused by someone I like, you\'re obviously guilty." Great job there, by the way. I know some folks in the Southern U.S. who\'d like your style. Of course you like the idea, it would give you a badge to wear in your campaign to cleanse the Internet.<br><br>I\'ll say this though. If you think you\'re gonna hound people like me off of anywhere, you better pack a lunch and bring a sleeping bag, \'cause you\'re going to be in for a loooot of work, and it ain\'t going to be fun.<br><br>Robert...don\'t get on board with this. It\'s just giving lynch mobs a veneer of legitimacy.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675301">\
	 <div id="dsq-comment-header-9675301" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675301" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9675301">met</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675301" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675301" class="dsq-comment-message">When there is a code in place - the most interesting blogs will become the ones that tread closest to the edges. :)<br>Rules are for a reason - they are meant to be broken and its a lot of fun when they are.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675298">\
	 <div id="dsq-comment-header-9675298" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675298" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9675298" href="http://burningbird.net/" target="_blank" rel="nofollow">Shelley</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675298" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675298" class="dsq-comment-message">I have been critical, sometimes strongly, of Tim O\'Reilly in my space for years and I\'m still writing books for him. More, I\'ve been critical of his friends.<br><br>Tim would no more retaliate against a person who disagrees with him then he would invite a person to foocamp just because they whine about it.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675299">\
	 <div id="dsq-comment-header-9675299" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675299" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9675299" href="http://blogs.brocknet.net/brocklog/" target="_blank" rel="nofollow">Thomas Brock</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675299" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675299" class="dsq-comment-message">Eh. An arbitrary code written by anyone other than a blog\'s writer (or writers) is irrelevant.<br><br>I\'m nowhere near popular enough to feel pressured to buy into any such agreement, but, legislating the blogosphere isn\'t going to change anything.<br><br>I write a blog, I make and enforce my rules. It\'s a personal responsibility type of thing to me.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675297">\
	 <div id="dsq-comment-header-9675297" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675297" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9675297">Ann</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675297" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675297" class="dsq-comment-message">Robert,<br><br>Just read the NYT piece from a link off Drudge and wow - you "feel like you live in Iran" ...?<br><br>What a load of BS. Why don\'t you go live there for a while with the jihadi\'s and come back and tell us how awful America is again. As a constantly self annointed "A Lister" you are just ...... laughable.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675295">\
	 <div id="dsq-comment-header-9675295" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675295" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9675295" href="http://thoughtpad.net/who/alan-dean/" target="_blank" rel="nofollow">Alan Dean</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675295" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675295" class="dsq-comment-message">I have put together some thoughts on civility, see <a href="http://thoughtpad.net/who/alan-dean/on-civility.html" rel="nofollow">http://thoughtpad.net/who/alan-dean/on-civility...</a></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675296">\
	 <div id="dsq-comment-header-9675296" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675296" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9675296">Jojo</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675296" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675296" class="dsq-comment-message">Don\'t change the way you do things. Your openness and policies are the best and should be adopted by others. Anonymity and privacy are important principles and lead to a freer exchange of ideas and opinions. Of course, there are some downsides, but they are easily outweighed by the benefits (even though it might not seem like that sometimes). This code of conduct is a bad reaction to a bad situation.<br><br>I hope you don\'t cave into the pressure. Keep up the good work!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675294">\
	 <div id="dsq-comment-header-9675294" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675294" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9675294" href="http://dotnetjunkies.com/WebLog/paul/" target="_blank" rel="nofollow">paul</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675294" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675294" class="dsq-comment-message">I want to know how the Web 2.0 conference got prominently mentioned in the NYTimes again just days before it begins, that\'s a PR coup.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675291">\
	 <div id="dsq-comment-header-9675291" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675291" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9675291" href="http://pop-pr.blogspot.com/" target="_blank" rel="nofollow">Jeremy Pepper</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675291" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675291" class="dsq-comment-message">Well, this is also why I keep Twittering about the hypocrisy out there. It\'s getting worse and worse.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675292">\
	 <div id="dsq-comment-header-9675292" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675292" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9675292" href="http://blog.sirthinks.com/" target="_blank" rel="nofollow">John</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675292" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675292" class="dsq-comment-message">Uh Oh.....  Scary stuff going on here.  I agree with Scoble on something.<br><br>Be still my heart.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675288">\
	 <div id="dsq-comment-header-9675288" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675288" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9675288" href="http://bytehead.wordpress.com/" target="_blank" rel="nofollow">bytehead</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675288" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675288" class="dsq-comment-message">I don\'t like^H^H^H^H^H^H^H^H^H^H disagree with all six points.<br><br><a href="http://www.bytehead.org/blog/2007_04_01_archive.php#113475080167610481" rel="nofollow">http://www.bytehead.org/blog/2007_04_01_archive...</a><br><br>And I almost choked to death when Dave Winer said over the first Twitter conference call about how everybody wants to be an A-lister.  Not me!  Before I could get a word out, we were already on a different subject!  Sigh.  Oh well.  We introverts have to suffer with you extroverts.<br><br>Me? As somebody blogged in Gruntled Employees, the best blogging rule is the shortest: Be professional.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675290">\
	 <div id="dsq-comment-header-9675290" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675290" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9675290" href="http://shii.org/" target="_blank" rel="nofollow">Shii</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675290" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675290" class="dsq-comment-message">Scoble you feisty wildcat, I have such STROOOONGGG feelings for you. I will do unspeakably kind things to you and your family. I will give your grandmother a birthday card containing only my deepest wishes. You\'d better watch your back. I\'m searching for your house on Google Maps and when I find it I\'m going to break inside with all my friends and throw you a shockingly exciting surprise party.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675289">\
	 <div id="dsq-comment-header-9675289" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675289" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9675289" href="http://afreshcup.com/" target="_blank" rel="nofollow">Mike Gunderloy</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675289" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675289" class="dsq-comment-message">It may not have been Tim\'s original intent, but people are already starting to use this to draw a black-and-white line between "follows the \'Civility Enforced\' rules and \'Anything Goes\'." Which is nonsense. There is a lot of room for bloggers of good faith who don\'t agree with with one or more of the (in my opinion overbearing) O\'Reilly-backed rules to run civil upstanding blogs, but they\'re going to get lumped in with the freefire zones as this debate degenerates to namecalling.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675287">\
	 <div id="dsq-comment-header-9675287" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675287" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9675287" href="http://www.bynkii.com/" target="_blank" rel="nofollow">John C. Welch</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675287" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675287" class="dsq-comment-message"><i>Tim would no more retaliate against a person who disagrees with him then he would invite a person to foocamp just because they whine about it.</i><br><br>Tim may not, but the people jumping on this thing with nigh-religious fervor? Like someone once said, "Jesus? Jesus I like. His followers however scare the shit out of me." Tim may be full of nothing but good intentions, but there is <i>no way</i> he can own this, and keep it from becoming a morality play. Luckily, silliness like this usually dies out on its own, because people start realizing that it\'s simply not going to work.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675286">\
	 <div id="dsq-comment-header-9675286" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675286" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9675286">Christopher Coulter</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675286" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675286" class="dsq-comment-message">For once, I agree...<br><br>And enforceable by whom? Tim and his Merry Men gang? There are other publishers, free market you know. But a good biz person learns to divide the lines between political issues, and even on such, enemies on one issue, friends on another...Wash DC style.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675283">\
	 <div id="dsq-comment-header-9675283" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675283" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9675283" href="http://blackdogandmagpie.net/" target="_blank" rel="nofollow">magpie (larah)</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675283" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675283" class="dsq-comment-message">Nope, not gonna wear that badge either.<br><br>Just roll your own code. Keep it to three lines or less. Post it right above your comment box. Stick to it. How simple is that?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675284">\
	 <div id="dsq-comment-header-9675284" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675284" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9675284">Kathy Sierra</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675284" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675284" class="dsq-comment-message">For the record, I had nothing to do with this Code of Conduct, was not involved in any discussion, and I can\'t see how it would have made any difference at all in my situation. I understand that my post was the spark that started these conversations, but I don\'t see how this is different from a comment policy. If people are determined to threaten and intimidate you, they can do it on other blogs, and when challenged--one can claim they were hacked and impersonated, so... there\'s nothing you can do.<br><br>The ONLY thing I wish would happen is that group blogs take responsibility for what their co-authors write, or at least once those co-authors are made aware of it that they stop promoting the sites.  As for the notion of writing to the people publicly first, I tried that -- I wrote to the ones whose emails I knew-- Frank and Jeneane--more than a week before I went public...<br><br>No, I can\'t see how this Code of Conduct will change anything, because the blogosphere is not a community. I had mistakenly thought there were *sub* communities, like "tech blogging community" or "women tech blogging community", but that was a figment. I actually no longer think anything can be done other than growing a much thicker skin, a much stronger stomach, and a willingness to have your kids exposed to the kinds of content my daughters got to see and read about me. That\'s why I am NOT coming back... at least not as a sole blogger, or under my own name. Whatever causes people to want to hate and intimidate people with visibility--regardless of their topic and writing-- will be unaffected by this Code of Conduct.<br><br>I support Tim in trying to do *something*, and again-- I had nothing to do with (and knew nothing about) this. But I don\'t think anything--can be done. This isn\'t about the dark side of the interent or blogs-- it\'s about people who prefer to be cruel and threatening. The internet just makes it much easier to do it from a distance.<br><br>I spent the last two years writing about my optimism about blogs and the wonderful opportunity it gave us. I was so wrong. The threatening emails, photos, outright lying posts, and having all my personal data (ss, home address, etc.) posted all over the net SINCE  I went public have proved that to me once and for all.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675285">\
	 <div id="dsq-comment-header-9675285" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675285" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9675285" href="http://sethop.com/" target="_blank" rel="nofollow">Seth Wagoner</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675285" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675285" class="dsq-comment-message">John C, I haven\'t seen *anyone* jumping on this thing with nigh-religious fervor - can you point to some examples? There were a few who expressed vague support, a few who expressed support in principle so long as there was a big edit job first and perferrably several versions/variants available (I fall into that category), and then there was an enormous mob screaming blue murder about censorship, which I think is an *excellent* refutation of SethF\'s claims that the "Pilot Fish" tend to fall in behind the "A listers"...I blogged about that, just seems wrong to me.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675282">\
	 <div id="dsq-comment-header-9675282" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675282" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9675282">Jim</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675282" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675282" class="dsq-comment-message">"Tim O’Reilly is a guy who really can affect one’s career online"<br><br>Tim is being a dork.  :-) Tell him to bugger off and you do whatever you want.<br><br>He\'s doing nothing but turning blogging into a members only club where all the "cool kids" have badges and "enforce civility"....give me a break.  There is enough    "back scratching" going on in blogging, it needs to be shaken up a bit.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675279">\
	 <div id="dsq-comment-header-9675279" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675279" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9675279" href="http://sethop.com/" target="_blank" rel="nofollow">Seth Wagoner</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675279" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675279" class="dsq-comment-message">Kathy\'s comment concerns me. Kathy is a fabulous blogger, my favourite of all time, and she\'s decided that blogging just isn\'t safe any more for her and and her family, and she can\'t see any way that things might improve. Now, that\'s a tragedy if ever I saw one.<br><br>No doubt, her mood has not helped by the  scorn heaped upon her by the cynical masses who can\'t imagine why a popular and friendly blogger who is also a mother would want to live free from sporadic death threats and crazy misogynist photoshop work.<br><br>At the moment you really do need a tough skin to survive any sort of popularity online, but I haven\'t given up hope and I think things can improve a smidgen, and I think Tim\'s a brave man for suggesting that might be the case. BTW he\'s got out of bed and made some comments over on his original blog post that improve his case (to my mind, anyway).<br><br>More commentary on my blog. But now I really must sleep.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675280">\
	 <div id="dsq-comment-header-9675280" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675280" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9675280" href="http://www.makeyougohmm.com/" target="_blank" rel="nofollow">TDavid</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675280" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675280" class="dsq-comment-message">This code of conduct is going to be as successful as the attentiontrust gibberish that very few people paid attention to.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675281">\
	 <div id="dsq-comment-header-9675281" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675281" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9675281" href="http://www.webomatica.com/wordpress/" target="_blank" rel="nofollow">Webomatica</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675281" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675281" class="dsq-comment-message">Thoughts:<br><br>1. The blogs who are more apt to sign up for this are those that are already following the code anyhow - meaning it\'s not going to solve anything.<br><br>2. As Tony Hung asked earlier - whose going to enforce this? Is a blog police going to be randomly checking blogs with the badge and testing compliance?<br><br>3. This sounds like yet another barrier towards encouraging open debate on blogs. Blogging is challenging enough already and now it\'s like, oh you want to start a blog? By the way, here\'s a code of conduct you need to follow.<br><br>I\'m thinking I"m just going to add a comments policy on my about page and be done with it. I already moderate my comments personally, anyhow...</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675278">\
	 <div id="dsq-comment-header-9675278" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675278" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9675278">Christopher Coulter</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675278" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675278" class="dsq-comment-message">Not really getting into this whole eternal sideshow, but you know, this just loads everyone up for a NYT divebomb of blogs and social media as untamed "wild west zones" and that can\'t be good for the (halfway real almond-tree stuff) from Jeremiah. Expect tons of further attention, as this plays directly into journalistic agendas.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675305">\
	 <div id="dsq-comment-header-9675305" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675305" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9675305" href="http://devilcatz.wordpress.com/" target="_blank" rel="nofollow">yuE</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675305" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675305" class="dsq-comment-message">sometimes, the reason why a code exist, is simply because:<br>someone created it, just so another can break it.<br>when another breaks it, the someone takes pleasure in punishing them...<br><br>twisted, but true.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675329">\
	 <div id="dsq-comment-header-9675329" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675329" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9675329">Tom H.</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675329" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675329" class="dsq-comment-message">I didn\'t have time to read all the comments but it seems that a lot of folks are content to just "agree" that bad behavior, like what happened to Kathy Sierra, should be stopped but aren\'t willing to help stop it.<br><br>Robert, on this very blog you said:<br>"The Internet culture is really disgusting. Today when I was on Justin.TV the kinds of things that people were discussing in the chat room there were just totally disgusting and over the top.<br><br>We have to fix this culture. For the next week, let’s discuss how."<br><br>Today you\'re saying you\'ll stick to anything goes... how exactly are you helping out? What is that you\'re actually willing to do? Anything goes is a far cry from fixing the internet culture and is actually just enabling those that perpetuate the disgusting part.<br><br>I\'m not saying you\'re the disgusting one... I\'m saying that it\'s time to put up or shut up. Anyone really interested in shutting off the crap should do it instead of just talking about it when something bad happens.<br><br>You and others raised hell a week ago and said it was time to do something. Now Tim has done something, or at least started, and I see folks not saying "yeah, thats fine, but it restricts me too much so count me out. I\'m not willing to make any sacrifices."<br><br>You\'re a smart guy and you know blogging as well as anyone so where\'s your code of conduct? If you don\'t like his version then write your own draft... make good on your words and contribute.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675318">\
	 <div id="dsq-comment-header-9675318" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675318" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9675318" href="http://www.talknewmedia.com/" target="_blank" rel="nofollow">Paul Short</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675318" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675318" class="dsq-comment-message">I agree with some of what Tim O. says, mainly because I\'ve been blogging with my own personal \'code of conduct\' in mind since the beginning -- because I know the difference between right and wrong.<br><br>What irks me, is the fact that O and his supporters think I should spell it all out rather than let my own reputation (good or bad) speak for itself.<br><br>Trolls?? If they encourage lively and somewhat intelligent debate, that\'s cool. Let them feel important.<br><br>As for dealing with things privately, that\'s so subjective it\'s something that needs to be done on a case by case basis. Besides, whatever happened to the blogosphere being an open discussion? Why even have a blog if you can\'t discuss things openly?<br><br>Oh yeah, a few idiots threatened someone. Not to downplay how unnerving and slimey that is/was, but now we all have to feel the weight of a heavy hand if  we <em>don\'t prove</em> we\'re <em>not</em> the type of person to utter death threats by subscribing to someone elses ideology?<br><br>Scoble, if you take one of those badges and put it on your site, this blog is no longer yours where you get to speak your own mind, regardless of whether you write your own code of conduct or ust O\'Riley\'s.<br><br>BTW, the above paragraph is just my own opinion. Take it for what it\'s worth. Just don\'t govern yourself and your actions by it.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675321">\
	 <div id="dsq-comment-header-9675321" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675321" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9675321">LayZ</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675321" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675321" class="dsq-comment-message">I noticed O\'Reilly has two intersting "standards" in his "code of conduct:<br><br>-  infringes upon a copyright or trademark<br>- violates an obligation of confidentiality<br><br>If those are implemented, won\'t that pretty much shut down the majority of "A List" blogs?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675316">\
	 <div id="dsq-comment-header-9675316" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675316" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9675316">LayZ</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675316" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675316" class="dsq-comment-message">@72. What more do you want Scoble to do? He\'s pretty much posted his "code of conduct" for is blog.  He said he allows anonymous comments, but will filter out those that he deems to be "hate speech"--whatever he defines that as.  And he\'s perfectly within his rights to do so. It\'s his blog.  If he wants to rachet it up and only allow comments that agree with him, and only "non-anonymous" comments, he\'s can do that, too. Why should he implement someone else\'s "policy"?  It seems the majority of bloggers do have a "code of conduct". Some allow any and all comments, some allow commenters that register, some allow no comments.  Why should one blogger be "encouraged" to follow the policies of another?  If you don\'t like how they manage their comments, don\'t read their blogs. The "free market" will then determine the which "policy" they want.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675320">\
	 <div id="dsq-comment-header-9675320" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675320" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9675320" href="http://scobleizer.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675320" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675320" class="dsq-comment-message">TomH &gt;Today you’re saying you’ll stick to anything goes… how exactly are you helping out?<br><br>I said I\'ll stick to "anything goes" if the only other choice is the guidelines put forward by Tim O\'Reilly.<br><br>That doesn\'t mean I\'m not making changes to my own blog space (For instance I turned on some moderation -- new posters don\'t get right through without being approved first) and if any hate speech of the type that Kathy Sierra gets posted here I\'ll remove it as quickly as humanly possible.<br><br>The "are you with us, or against us" attitude is one I was hoping not to see. Glad to see that you want to control my thoughts and/or speech.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675317">\
	 <div id="dsq-comment-header-9675317" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675317" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9675317" href="http://scobleizer.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675317" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675317" class="dsq-comment-message">Damn it LayZ. You\'re agreeing with me. I don\'t know what to do about that!<br><br>Thanks.<br><br>:-)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675315">\
	 <div id="dsq-comment-header-9675315" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675315" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9675315">LayZ</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675315" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675315" class="dsq-comment-message">@78  Hey, man. When you\'re right, you\'re right.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675314">\
	 <div id="dsq-comment-header-9675314" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675314" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9675314">Tony</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675314" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675314" class="dsq-comment-message">I know you all think this is vitally important, but it\'s not. A huge majority of the world\'s population go right on living their lives blissfully unaware of 99.9% of all blogs.<br><br>Enforce civility, don\'t enforce civility. No one but the monitor-tanned even care.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675359">\
	 <div id="dsq-comment-header-9675359" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675359" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9675359">Tom H.</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675359" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675359" class="dsq-comment-message">Robert: "glad you want to control my thoughts and/or speech"<br><br>?... are you kidding me?<br><br>If I wanted to control your thoughts, well, thats not possible so lets move onto speech. I wouldn\'t try to engage you into a dialogue IF I wanted to control you. I would go to another outlet and try to force you to adhere to a code of conduct. There\'s a huge difference, but you know that.<br><br>I suspect you took a cheap "look! here come the censors!" approach because you didn\'t have much more to offer. That\'s my point.<br><br>This whole conduct thing and "fixing the culture" as you proclaimed you wanted to do, is going to take a lot more than you acknowledging it and turning on some comment moderation. Way to go... Scoble moderates a little more... that\'ll show \'em. Oh yeah, he cares too... he said so on his blog.<br><br>You\'re the one that started a fuss and said you were starting a dialogue about how to clean it up. Is more moderation on your blog gonna do much? No, but it\'ll make you feel better, almost like you did something worthwhile.<br><br>Before you run off and take shots at Tim\'s work you should produce something yourself. At least he\'s started a dialogue and getting involved beyond his own little space on the net.<br><br>Next time you pop off about changing things you might want to be prepared to carry through.<br><br>BTW, I never said "with us or against us"... you did. I only asked you to follow through on your previously declared intent to clean it up. I wouldn\'t have said one word about it had you not jumped on horn and acted like you were going to get involved.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675325">\
	 <div id="dsq-comment-header-9675325" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675325" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9675325" href="http://scobleizer.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675325" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675325" class="dsq-comment-message">&gt;At least he’s started a dialogue and getting involved beyond his own little space on the net.<br><br>That he has, I agree there, and said I believe he\'s coming from a good place here. Just that by only giving us two choices he\'s made it impossible to agree.<br><br>YOU came in here with an attitude of "gotcha." That didn\'t send gestures to me that you\'re looking for a dialog, just wanted to smear my nose in some inconsistency.<br><br>If you want real dialog, let\'s talk about ways we can make the Internet nicer that actually have a chance of being implemented.<br><br>I didn\'t say HOW I would be involved but I never called for a code of conduct.<br><br>So, let\'s back up. Why do you think this code of conduct would help in Kathy Sierra\'s case (or in the case of Maryam, my wife, who was one of those attacked?)<br><br>I don\'t see that it would have kept either thing from happening and I also don\'t see enough people signing onto such a code to make it anything more than a club. There\'s already enough clubs and tribes on the Internet. That\'s part of the problem that caused this all to uproar in the first place.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675358">\
	 <div id="dsq-comment-header-9675358" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675358" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9675358" href="http://yazmilda.wordpress.com/" target="_blank" rel="nofollow">Yazmilda Almanza</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675358" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675358" class="dsq-comment-message">Anything goes! :)<br>I\'m going to take the same approach.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675322">\
	 <div id="dsq-comment-header-9675322" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675322" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9675322">LayZ</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675322" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675322" class="dsq-comment-message">@86. Exactly, Robert.  The "code of conduct" is the proverbial lipsitck on a pig.   Every blogger has the ability to control the tone of conversation on their blog and they don\'t need a "code of conduct" to do so. No one forces a person to read their blog, just like no one forces one to watch something in the movies or TV that they find objectionable. Just like changing the channel, don\'t read or subscribe to a blog if you don\'t like the "conversation".  The market will decide which ones "win"</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675333">\
	 <div id="dsq-comment-header-9675333" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675333" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9675333" href="http://raincoaster.com/" target="_blank" rel="nofollow">raincoaster</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675333" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675333" class="dsq-comment-message">See, posts like this are why I read you even though I\'m a non-techy.<br><br>I won\'t be joining the Code Signees. I do have my own code, and abide by it thoroughly, and don\'t think I need anyone else to tell me how to behave on my own blog.<br><br>We all know that the people who inspired this code would never obey it anyway: they INTENDED to be outrageous and offensive.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675354">\
	 <div id="dsq-comment-header-9675354" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675354" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9675354">Gubbi</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675354" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675354" class="dsq-comment-message">I agree that "code of Conduct" is not a quick fix solution to help prevent abuses/threats online. But in the long run, I guess it will help create a better ecosystem. (not the either-white-or-black CoC as suggested by TO. I guess he\'ll modify it to be more flexible and is taking the initial feedback seriously.) Comment moderation is one thing that helps. But that\'s one sided effort. When a CoC is published or subscribed to, it lets the reader know/get-educated as to what contents you and your blog entertains. When many top bloggers subscribe to some CoC as guidelines (and not rule), others follow  and it helps create a better blogger ecosystem where respectful conversations can take place, as people know what kind of a dialog you expect and what they can expect from you. The idea of having a badge that represents some value-system we subscribe to and showing it at the comments space sounds like an incredible and simple first(though not the only) step  to me. Why is it that we are ok/put up with anything online but not so in real world? When meankids site owner _later_ says that "what it later became was not the initial intent of the site", then why not publish it\'s intent? [And it\'s not just the comments but even the posts on it crossed the line of civility.] Publishing a CoC not only helps stop unwanted content on your blog but also to protect yourself/your blog against being abused as was the case with meadkids site. If all the bloggers of the meankids site had subscribed to that _original-intent_ would it have all those nasty posts? If that _original_intent_ was published, would it have all of those comments?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675341">\
	 <div id="dsq-comment-header-9675341" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675341" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9675341">Gubbi</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675341" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675341" class="dsq-comment-message">Agreed that CoC isn\'t the solution, but then how will "Anything goes" with comment moderation help?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675324">\
	 <div id="dsq-comment-header-9675324" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675324" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9675324" href="http://www.knocks-solutions.com/" target="_blank" rel="nofollow">KNOCKS</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675324" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675324" class="dsq-comment-message">I don\'t think this is the solution, I believe we will have to self regulate ourselves</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675336">\
	 <div id="dsq-comment-header-9675336" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675336" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9675336">Gubbi</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675336" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675336" class="dsq-comment-message">Ignore the above comment. It was to mean:<br> ok, CoC solution is crappy. So, what do you propose?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675319">\
	 <div id="dsq-comment-header-9675319" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675319" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9675319" href="http://jergames.blogspot.com/" target="_blank" rel="nofollow">Yehuda Berlinger</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675319" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675319" class="dsq-comment-message">A week prior to the Kathy Sierra thing, I made my own Blogger Code of Ethics, which I think was a little less severe:<br><br><a href="http://jergames.blogspot.com/2007/03/blogger-code-of-ethics.html" rel="nofollow">http://jergames.blogspot.com/2007/03/blogger-co...</a><br><br>Yehuda</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675326">\
	 <div id="dsq-comment-header-9675326" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675326" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9675326" href="http://www.digitalbricklayer.com/blog/" target="_blank" rel="nofollow">Jack</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675326" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675326" class="dsq-comment-message">One of the nice things about being a beta blogger, a beta geek and not talking at conferences is that I can blithely ignore what anybody thinks up to and including Tim O\'Reilly.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675355">\
	 <div id="dsq-comment-header-9675355" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675355" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9675355" href="http://rhymeswithgeek.com/blogs/someone_else/default.aspx" target="_blank" rel="nofollow">Rob Moir</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675355" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675355" class="dsq-comment-message">At the end of the day this code of conduct thing is just a way for people with an overly high opinion of their own importance to try and impress everyone with how important they are.<br><br>Those who would take notice of such a code (lets leave the other obvious flaws aside because they\'ve been done to death) don\'t need such a code. Those who you would most want to abide by it will either remain unaware that it exists or take great delight in playing with its limits. I\'m sure you remember how things were in a certain CoffeeHouse, Robert.<br><br>And the badges... maybe they\'re an American thing but they seem awfully trite and childish to me. (I mean the concept of badges at all, not the obvious cultural bias in the designs offered)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675335">\
	 <div id="dsq-comment-header-9675335" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675335" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9675335">Brett</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675335" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675335" class="dsq-comment-message">The Airbag Department of Security Blog Advisory System gets my vote. Good for a laugh:<br><br><a href="http://www.airbagindustries.com/archives/airbag/law.php#21914" rel="nofollow">http://www.airbagindustries.com/archives/airbag...</a><br><br>credit where credit is due: found while reading <a href="http://daringfireball.net/" rel="nofollow">http://daringfireball.net/</a></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675332">\
	 <div id="dsq-comment-header-9675332" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675332" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9675332" href="http://www.javairasfolly.jandell.net/" target="_blank" rel="nofollow">Javaira</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675332" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675332" class="dsq-comment-message">Any code has to be voluntary, just as it is voluntary to say thank you.<br><br>The culture of the internet will change if large groups of people change their expectations of peoples behaviour. If people do not meet our expectations we treat them the say way we treat a person who is rude in a social setting.<br><br>I think the fundamental problem is that a whole chunk of the community does not think that anything on the internet is serious. Therefore anything goes.<br><br>This is serious, this culture must gain some real credibility to make any ground on these sorts of issues.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675312">\
	 <div id="dsq-comment-header-9675312" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675312" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9675312">Steve Elbows</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675312" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675312" class="dsq-comment-message">If Tim has that much power to affect the career of bloggers, then something has gone wrong with the promise of the blogosphere.<br><br>I guess I would be more interested in open discussions about intimidation and coercion, than in a code of conduct. Nothing in the proposed code would protect Kathy as far as I can tell, and I think theres more chance of helping humans build psychological defenses against intimidation &amp; coercion, than trying to silence every troll.<br><br>\'stick and stones\' badge anyone?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675300">\
	 <div id="dsq-comment-header-9675300" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675300" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9675300" href="http://ict4peace.wordpress.com/" target="_blank" rel="nofollow">ict4peace</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675300" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675300" class="dsq-comment-message">As someone who gets the most virulent comments imaginable with the occasional death threat to boot, in a country in which a culture of impunity has overwhelmed the Rule of Law and where human rights are now just a good idea, I can assure you that I am partial to the idea of some sort of framework of civility for comments in blogs.<br><br>However, this has to be determined by the owner / group that runs each blog - not by a higher uber-blogger who determines what civility is for the rest of us.<br><br>See <a href="http://ict4peace.wordpress.com/2007/04/10/blogging-code-of-conduct-does-one-size-fit-all" rel="nofollow">http://ict4peace.wordpress.com/2007/04/10/blogg...</a></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675293">\
	 <div id="dsq-comment-header-9675293" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675293" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9675293" href="http://blonde2dot0.blogspot.com/" target="_blank" rel="nofollow">Blonde 2.0</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675293" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675293" class="dsq-comment-message">Kfir:<br><br>I totally agree with you. Who cares?<br>Take it offline!<br>Or better yet, perhaps we should write up a "cell owners code of conduct?"<br><br>Blonde 2.0</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675310">\
	 <div id="dsq-comment-header-9675310" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675310" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9675310" href="http://blonde2dot0.blogspot.com/" target="_blank" rel="nofollow">Blonde 2.0</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675310" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675310" class="dsq-comment-message">Sorry Robert:<br>I accidently posted the comment above while it was intended for a completely different discussion on another blog regarding Kevin Burton\'s latest "cell phone scandal":<br><a href="http://www.feedblog.org/2007/04/the_ethics_of_v.html" rel="nofollow">http://www.feedblog.org/2007/04/the_ethics_of_v...</a><br><br>Anyways, I thought that since it was my error, I at least should fill you in on the story. That way you could figure out if you wanted to take responsibility for my comment. I mean, isn\'t that part of the new code of bloggers ethics? :-)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675361">\
	 <div id="dsq-comment-header-9675361" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675361" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9675361" href="http://ganzteddybears.com/" target="_blank" rel="nofollow">Ganz Teddy Bears</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675361" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675361" class="dsq-comment-message">TrackBack clients need a method of determining the TrackBack Ping URL for a particular URL. If a resource is courteous, they will have embedded the information necessary to make a TrackBack ping. (This is the same information that the MTEntryTrackBackData will insert into a template.) This information allows the TrackBack client to auto- discover the TrackBack Ping URL and send the ping without further data entry or intervention from the user.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675362">\
	 <div id="dsq-comment-header-9675362" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675362" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9675362" href="http://craigslistandnewyork.com/" target="_blank" rel="nofollow">craigs list and new york</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675362" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675362" class="dsq-comment-message">This morning I came across Seeking Media. This is an online press release platform that enables you to send your news directly to press, broadcast and online media at the click of a button, quickly, easily and cost- effectively, from anywhere at any time. Google has listed this site as an important source of news items. Sounds like it is worth a look next time you’ re doing a media release.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675360">\
	 <div id="dsq-comment-header-9675360" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675360" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9675360" href="http://www.supertravestiler.com/" target="_blank" rel="nofollow">travesti</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675360" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675360" class="dsq-comment-message">This morning I came across Seeking Media. This is an online press release platform that enables you to send your news directly to press, broadcast and online media at the click of a button, quickly, easily and cost- effectively, from anywhere at any time. Google has listed this site as an important source of news items. Sounds like it is worth a look next time you’ re doing a media releas</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675363">\
	 <div id="dsq-comment-header-9675363" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675363" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9675363" href="http://www.travestikizlar.com/" target="_blank" rel="nofollow">travesti</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675363" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675363" class="dsq-comment-message">Google has listed this site as an important source of news items. Sounds like it is worth a look next time you’ re doing a media releas</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675364">\
	 <div id="dsq-comment-header-9675364" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675364" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9675364" href="http://www.viptravesti.com/" target="_blank" rel="nofollow">travesti</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675364" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675364" class="dsq-comment-message"><a href="http://www.viptravesti.com/" rel="nofollow">travesti</a></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675365">\
	 <div id="dsq-comment-header-9675365" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675365" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9675365" href="http://www.travestivitrini.com/" target="_blank" rel="nofollow">travesti vitrini</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675365" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675365" class="dsq-comment-message">When there is a code in place - the most interesting blogs will become the ones that tread closest to the edges. :)<br>Rules are for a reason - they are meant to be broken and its a lot of fun when they are.<br><br>thanks</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675366">\
	 <div id="dsq-comment-header-9675366" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675366" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9675366" href="http://www.superbilisim.com.tr/" target="_blank" rel="nofollow">super bilisim</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675366" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675366" class="dsq-comment-message">I spent the last two years writing about my optimism about blogs and the wonderful opportunity it gave us. I was so wrong. The threatening emails, photos, outright lying posts, and having all my personal data (ss, home address, etc.) posted all over the net SINCE I went public have proved that to me once and for all.<br><br>very nice</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675367">\
	 <div id="dsq-comment-header-9675367" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675367" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9675367" href="http://www.ozlemkuafor.net/" target="_blank" rel="nofollow">ozlem kuafor</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675367" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675367" class="dsq-comment-message">It may not have been Tim’s original intent, but people are already starting to use this to draw a black-and-white line between “follows the ‘Civility Enforced’ rules and ‘Anything Goes’.” Which is nonsense. There is a lot of room for bloggers of good faith who don’t agree with with one or more of the (in my opinion overbearing) O’Reilly-backed rules to run civil upstanding blogs, but they’re going to get lumped in with the freefire zones as this debate degenerates to namecalling.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675368">\
	 <div id="dsq-comment-header-9675368" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675368" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9675368" href="http://www.travesticenneti.com/" target="_blank" rel="nofollow">travesti</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675368" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675368" class="dsq-comment-message">When meankids site owner _later_ says that “what it later became was not the initial intent of the site”, then why not publish it’s intent? [And it\'s not just the comments but even the posts on it crossed the line of civility.] Publishing a CoC not only helps stop unwanted content on your blog but also to protect yourself/your blog against being abused as was the case with meadkids site. If all the bloggers of the meankids site had subscribed to that _original-intent_ would it have all those nasty posts?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675369">\
	 <div id="dsq-comment-header-9675369" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675369" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9675369" href="http://www.mytravesti.net/" target="_blank" rel="nofollow">mytravesti</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675369" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675369" class="dsq-comment-message">avidly was subjected to death threats and a lot of abuse on the internet. Her name is Kathy Sierra and while she still does things, the personal connection I had is long over with. The death threats and harassment were deemed to be out of line, which is good, most of us do not want to participate in that kind of environment anyways. What came out of that incident though was the</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675370">\
	 <div id="dsq-comment-header-9675370" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675370" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9675370" href="http://www.travestinizayca.com/" target="_blank" rel="nofollow">travestinizayca</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675370" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675370" class="dsq-comment-message">The death threats and harassment were deemed to be out of line, which is good, most of us do not want to participate in that kind of environment anyways. What came out of that incident though was the</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-13441212">\
	 <div id="dsq-comment-header-13441212" class="dsq-comment-header">\
	 <cite id="dsq-cite-13441212" class="dsq-comment-cite">\
	 <span id="dsq-author-user-13441212">escortseray</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-13441212" class="dsq-comment-body">\
	 <div id="dsq-comment-message-13441212" class="dsq-comment-message">escort bayan , bayan escort , escort turkiye , eskort kizlar , escort bayanlar, turk escortlar<br><br><a href="http://www.escortbayanseray.com" rel="nofollow">www.escortbayanseray.com</a></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=code_of_conduct_or_not&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);
			}
		}
	});
}

})();




