




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": {"9d5cb7fdbf8a44313a6ee576ece129ee": {"username": "Eric", "tumblr": "", "display_name": "Eric", "url": "http://disqus.com/guest/9d5cb7fdbf8a44313a6ee576ece129ee/", "registered": false, "linkedin": "", "blog": "http://www.howtogirl.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": ""}, "0ae70654549a0d94c28be03cae360316": {"username": "Greg", "tumblr": "", "display_name": "Greg", "url": "http://disqus.com/guest/0ae70654549a0d94c28be03cae360316/", "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": ""}, "f85bd2fff437e475f854038802f70fee": {"username": "kewlgizmos", "tumblr": "", "display_name": "kewlgizmos", "url": "http://disqus.com/guest/f85bd2fff437e475f854038802f70fee/", "registered": false, "linkedin": "", "blog": "http://www.kewlgizmos.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": ""}, "5054bcb4b8836ba06b1144d6bc45b8f0": {"username": "Custa", "tumblr": "", "display_name": "Custa", "url": "http://disqus.com/guest/5054bcb4b8836ba06b1144d6bc45b8f0/", "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": ""}, "ba9006f67d229a3421d0f02ac8af1829": {"username": "Dave Bennett", "tumblr": "", "display_name": "Dave Bennett", "url": "http://disqus.com/guest/ba9006f67d229a3421d0f02ac8af1829/", "registered": false, "linkedin": "", "blog": "http://dmbennett.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": ""}, "b65f1f36b37cf0949b52a1513add953e": {"username": "Dominic Jones", "tumblr": "", "display_name": "Dominic Jones", "url": "http://disqus.com/guest/b65f1f36b37cf0949b52a1513add953e/", "registered": false, "linkedin": "", "blog": "http://www.irwebreport.com/daily", "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": ""}, "df2bebffe2fece4cee7ed284aaff3cf0": {"username": "blogger@wordpress", "tumblr": "", "display_name": "blogger@wordpress", "url": "http://disqus.com/guest/df2bebffe2fece4cee7ed284aaff3cf0/", "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": ""}, "5f838649416fe0d2763f1bd70aea7d89": {"username": "strategicalliance", "tumblr": "", "display_name": "strategicalliance", "url": "http://disqus.com/guest/5f838649416fe0d2763f1bd70aea7d89/", "registered": false, "linkedin": "", "blog": "http://alliancecouncil.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": ""}, "7bfd646dea8e47642bbb573f026bf159": {"username": "engtech", "tumblr": "", "display_name": "engtech", "url": "http://disqus.com/guest/7bfd646dea8e47642bbb573f026bf159/", "registered": false, "linkedin": "", "blog": "http://engtech.wordpress.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/8922/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "e71486d6f8fe2954b12a9a26eaffad45": {"username": "Lloyd Budd", "tumblr": "", "display_name": "Lloyd Budd", "url": "http://disqus.com/guest/e71486d6f8fe2954b12a9a26eaffad45/", "registered": false, "linkedin": "", "blog": "http://foolswisdom.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/11295/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "699f090d694ebb493b5335573562678d": {"username": "TanNg", "tumblr": "", "display_name": "TanNg", "url": "http://disqus.com/guest/699f090d694ebb493b5335573562678d/", "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": ""}, "9d21912a45fa96b9bf1a1ff4e5600a3e": {"username": "mj", "tumblr": "", "display_name": "mj", "url": "http://disqus.com/guest/9d21912a45fa96b9bf1a1ff4e5600a3e/", "registered": false, "linkedin": "", "blog": "http://www.infurious.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": ""}, "e855c3f0141310d1005c3b89af2c1c7f": {"username": "Ben Metcalfe", "tumblr": "", "display_name": "Ben Metcalfe", "url": "http://disqus.com/guest/e855c3f0141310d1005c3b89af2c1c7f/", "registered": false, "linkedin": "", "blog": "http://benmetcalfe.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": ""}, "3553f5e0db0fd1ec4e40a932a2d8f5b3": {"username": "Robert Scoble", "tumblr": "", "display_name": "Robert Scoble", "url": "http://disqus.com/guest/3553f5e0db0fd1ec4e40a932a2d8f5b3/", "registered": false, "linkedin": "", "blog": "http://scobleizer.wordpress.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/4069/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "70fe121c9172e9882762d7f28f233567": {"username": "Rogers Cadenhead", "tumblr": "", "display_name": "Rogers Cadenhead", "url": "http://disqus.com/guest/70fe121c9172e9882762d7f28f233567/", "registered": false, "linkedin": "", "blog": "http://www.cadenhead.org/workbench", "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": ""}, "173a00940e5cfdabcca7c118f6ae62c2": {"username": "The Real Story", "tumblr": "", "display_name": "The Real Story", "url": "http://disqus.com/guest/173a00940e5cfdabcca7c118f6ae62c2/", "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": ""}, "b0a2e6598ee59237a0ebf6e801876f4d": {"username": "Mark Jaquith", "tumblr": "", "display_name": "Mark Jaquith", "url": "http://disqus.com/guest/b0a2e6598ee59237a0ebf6e801876f4d/", "registered": false, "linkedin": "", "blog": "http://markjaquith.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": ""}, "tchussey": {"username": "tchussey", "tumblr": "", "display_name": "Tris Hussey", "url": "http://disqus.com/tchussey/", "registered": true, "linkedin": "", "blog": "http://trishussey.com", "remote_domain": null, "points": 1, "facebook": "", "avatar": "http://media.disqus.com/uploads/users/73/6357/avatar92.jpg", "delicious": "", "is_remote": false, "verified": true, "flickr": "", "twitter": "", "remote_domain_name": ""}, "053f44a14d96704ad6e22556eb4fa520": {"username": "Niall Kennedy", "tumblr": "", "display_name": "Niall Kennedy", "url": "http://disqus.com/guest/053f44a14d96704ad6e22556eb4fa520/", "registered": false, "linkedin": "", "blog": "http://www.niallkennedy.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": ""}, "9658c848d93bc4d2cd181325c6b51c02": {"username": "Willow", "tumblr": "", "display_name": "Willow", "url": "http://disqus.com/guest/9658c848d93bc4d2cd181325c6b51c02/", "registered": false, "linkedin": "", "blog": "http://magicaldaysandnights.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": ""}, "df679bd3d287a21d5ed6020bae384e17": {"username": "Diego", "tumblr": "", "display_name": "Diego", "url": "http://disqus.com/guest/df679bd3d287a21d5ed6020bae384e17/", "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": ""}, "67d3880bbfaafdb2a2108b7c9a64df47": {"username": "Adrian Madrid", "tumblr": "", "display_name": "Adrian Madrid", "url": "http://disqus.com/guest/67d3880bbfaafdb2a2108b7c9a64df47/", "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": ""}, "75ce4ca39476fa5116a30611a4a19687": {"username": "A.Lizard", "tumblr": "", "display_name": "A.Lizard", "url": "http://disqus.com/guest/75ce4ca39476fa5116a30611a4a19687/", "registered": false, "linkedin": "", "blog": "http://www.ecis.com/~alizard/technology.html", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "hawaii": {"username": "hawaii", "tumblr": "hawaii", "display_name": "hawaii", "url": "http://disqus.com/hawaii/", "registered": true, "linkedin": "in/hawaii", "blog": "http://www.hawaiiweblog.com", "remote_domain": null, "points": 2, "facebook": "", "avatar": "http://media.disqus.com/uploads/users/763/avatar92.jpg", "delicious": "ryanozawa", "is_remote": false, "verified": true, "flickr": "hawaii", "twitter": "", "remote_domain_name": ""}, "janoulle": {"username": "janoulle", "tumblr": "", "display_name": "Jane Ullah", "url": "http://disqus.com/janoulle/", "registered": true, "linkedin": "", "blog": "http://janetalkstech.com", "remote_domain": null, "points": 2, "facebook": "http://www.facebook.com/janeullah", "avatar": "http://media.disqus.com/uploads/users/86/8496/avatar92.jpg", "delicious": "", "is_remote": false, "verified": true, "flickr": "", "twitter": "http://twitter.com/janetalkstech", "remote_domain_name": ""}, "1ec460d37a55e5563d9ebb258913c848": {"username": "The Rooster", "tumblr": "", "display_name": "The Rooster", "url": "http://disqus.com/guest/1ec460d37a55e5563d9ebb258913c848/", "registered": false, "linkedin": "", "blog": "http://roostersrail.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": ""}, "6625370ffa42f6c3f82d88c4bce53fc9": {"username": "Simon Brocklehurst", "tumblr": "", "display_name": "Simon Brocklehurst", "url": "http://disqus.com/guest/6625370ffa42f6c3f82d88c4bce53fc9/", "registered": false, "linkedin": "", "blog": "http://www.psynixis.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": ""}, "612ffc8eee88e92dc8473e86c9ee629d": {"username": "Salubri", "tumblr": "", "display_name": "Salubri", "url": "http://disqus.com/guest/612ffc8eee88e92dc8473e86c9ee629d/", "registered": false, "linkedin": "", "blog": "http://salubri.journals.ie/", "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": ""}, "f950de1553dfad3075a6fc0be57d382f": {"username": "Larry Flynt", "tumblr": "", "display_name": "Larry Flynt", "url": "http://disqus.com/guest/f950de1553dfad3075a6fc0be57d382f/", "registered": false, "linkedin": "", "blog": "http://www.hustler.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": ""}, "e93b47610372efeb509cff64858d52e3": {"username": "Dawn", "tumblr": "", "display_name": "Dawn", "url": "http://disqus.com/guest/e93b47610372efeb509cff64858d52e3/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/38/9024/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "bb523bc2f16158d725ee55f5973d0d73": {"username": "TAG", "tumblr": "", "display_name": "TAG", "url": "http://disqus.com/guest/bb523bc2f16158d725ee55f5973d0d73/", "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": ""}, "894e015dd504d5df6cd9a8f0a95100e9": {"username": "shel israel", "tumblr": "", "display_name": "shel israel", "url": "http://disqus.com/guest/894e015dd504d5df6cd9a8f0a95100e9/", "registered": false, "linkedin": "", "blog": "http://nakedconversations.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "e3827a7c1741cf42d52a0ab0dc2dc9ff": {"username": "Eric Rice", "tumblr": "", "display_name": "Eric Rice", "url": "http://disqus.com/guest/e3827a7c1741cf42d52a0ab0dc2dc9ff/", "registered": false, "linkedin": "", "blog": "http://ericrice.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": ""}, "f4c1458a0b5a86387aeadd028da2d2e4": {"username": "Lollercaust", "tumblr": "", "display_name": "Lollercaust", "url": "http://disqus.com/guest/f4c1458a0b5a86387aeadd028da2d2e4/", "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": ""}, "be73b6ce436e594cb6bd080a136cf6e5": {"username": "PatrickQG", "tumblr": "", "display_name": "PatrickQG", "url": "http://disqus.com/guest/be73b6ce436e594cb6bd080a136cf6e5/", "registered": false, "linkedin": "", "blog": "http://soapbox.co.nz/", "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": ""}, "1966e5aab1490a53508d57831fddfe8d": {"username": "PXLated", "tumblr": "", "display_name": "PXLated", "url": "http://disqus.com/guest/1966e5aab1490a53508d57831fddfe8d/", "registered": false, "linkedin": "", "blog": "http://www.geise.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": ""}, "97424546a8c3336d91511048412f522d": {"username": "JCK", "tumblr": "", "display_name": "JCK", "url": "http://disqus.com/guest/97424546a8c3336d91511048412f522d/", "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": ""}, "990ce9c0f5e202ae9d5fec8eaa70559d": {"username": "Aaron B. Hockley", "tumblr": "", "display_name": "Aaron B. Hockley", "url": "http://disqus.com/guest/990ce9c0f5e202ae9d5fec8eaa70559d/", "registered": false, "linkedin": "", "blog": "http://www.anotherblogger.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": ""}, "144c67ad2ed3608f36706e054fbd3845": {"username": "John Adams", "tumblr": "", "display_name": "John Adams", "url": "http://disqus.com/guest/144c67ad2ed3608f36706e054fbd3845/", "registered": false, "linkedin": "", "blog": "http://spamfree24.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": ""}, "593a6c05e7c051e37e679f6a5d938da5": {"username": "Sam Spade", "tumblr": "", "display_name": "Sam Spade", "url": "http://disqus.com/guest/593a6c05e7c051e37e679f6a5d938da5/", "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": ""}, "d47afd378c0ca60d4273ebdd71bca4c3": {"username": "owen", "tumblr": "", "display_name": "owen", "url": "http://disqus.com/guest/d47afd378c0ca60d4273ebdd71bca4c3/", "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": ""}, "b02f842303e275bacf9a66c710b2ee8a": {"username": "randymorin", "tumblr": "", "display_name": "randymorin", "url": "http://disqus.com/guest/b02f842303e275bacf9a66c710b2ee8a/", "registered": false, "linkedin": "", "blog": "http://randymorin.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": ""}, "22b1b68ffd835a32c48fe30acdce793a": {"username": "Corinne", "tumblr": "", "display_name": "Corinne", "url": "http://disqus.com/guest/22b1b68ffd835a32c48fe30acdce793a/", "registered": false, "linkedin": "", "blog": "http://webimpact.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": ""}, "cb90da13aeb59302b016efcf28aa8eab": {"username": "ariel", "tumblr": "", "display_name": "ariel", "url": "http://disqus.com/guest/cb90da13aeb59302b016efcf28aa8eab/", "registered": false, "linkedin": "", "blog": "http://shakewellbeforeuse.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": ""}, "da29e90e3ee3e8f6d26e5b5453104362": {"username": "bananasfk", "tumblr": "", "display_name": "bananasfk", "url": "http://disqus.com/guest/da29e90e3ee3e8f6d26e5b5453104362/", "registered": false, "linkedin": "", "blog": "http://bananasfk.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": ""}, "a1e3e136a7f569d92ec27620751fb6f6": {"username": "Nail Connedy", "tumblr": "", "display_name": "Nail Connedy", "url": "http://disqus.com/guest/a1e3e136a7f569d92ec27620751fb6f6/", "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": ""}, "34e057f1742ff255209996e00a780740": {"username": "mydigest", "tumblr": "", "display_name": "mydigest", "url": "http://disqus.com/guest/34e057f1742ff255209996e00a780740/", "registered": false, "linkedin": "", "blog": "http://mydigest.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": ""}, "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": ""}, "fbb7bd7683688949f631544c7ce4120c": {"username": "Eric Trautmann", "tumblr": "", "display_name": "Eric Trautmann", "url": "http://disqus.com/guest/fbb7bd7683688949f631544c7ce4120c/", "registered": false, "linkedin": "", "blog": "http://mercuryeric.livejournal.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": ""}, "f256678460c5afe31bdab98049fcde6f": {"username": "anon", "tumblr": "", "display_name": "anon", "url": "http://disqus.com/guest/f256678460c5afe31bdab98049fcde6f/", "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": ""}, "e04e2eeeaee5f460298cf1fbafb54382": {"username": "Sean Lyndersay", "tumblr": "", "display_name": "Sean Lyndersay", "url": "http://disqus.com/guest/e04e2eeeaee5f460298cf1fbafb54382/", "registered": false, "linkedin": "", "blog": "http://blogs.msdn.com/rssteam", "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": ""}, "76dd7b71d675642274a559d8a5302e13": {"username": "Mike", "tumblr": "", "display_name": "Mike", "url": "http://disqus.com/guest/76dd7b71d675642274a559d8a5302e13/", "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": ""}, "dafc572533aabb72de33f86817414d4e": {"username": "Torley", "tumblr": "", "display_name": "Torley", "url": "http://disqus.com/guest/dafc572533aabb72de33f86817414d4e/", "registered": false, "linkedin": "", "blog": "http://torley.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/3/9935/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "c5b45515b665edce1dafe956c7bdf78f": {"username": "Greg Furry", "tumblr": "", "display_name": "Greg Furry", "url": "http://disqus.com/guest/c5b45515b665edce1dafe956c7bdf78f/", "registered": false, "linkedin": "", "blog": "http://www.transparentagenda.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": ""}, "2976c291a9a3dcc2dcbbf9e074c9a252": {"username": "Osman S Borutecene", "tumblr": "", "display_name": "Osman S Borutecene", "url": "http://disqus.com/guest/2976c291a9a3dcc2dcbbf9e074c9a252/", "registered": false, "linkedin": "", "blog": "http://www.visnum.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": ""}, "401fb098a867eb9a0d17875a31fa35a1": {"username": "xolith", "tumblr": "", "display_name": "xolith", "url": "http://disqus.com/guest/401fb098a867eb9a0d17875a31fa35a1/", "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": ""}, "9809ea7ca80d2a3e32bcccc39b9aeea2": {"username": "cameraware", "tumblr": "", "display_name": "cameraware", "url": "http://disqus.com/guest/9809ea7ca80d2a3e32bcccc39b9aeea2/", "registered": false, "linkedin": "", "blog": "http://cameraware.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": ""}, "50c4fa98865bc1515f51c47afb814dc0": {"username": "Robyn Tippins", "tumblr": "", "display_name": "Robyn Tippins", "url": "http://disqus.com/guest/50c4fa98865bc1515f51c47afb814dc0/", "registered": false, "linkedin": "", "blog": "http://sleepyblogger.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/23/7591/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "cf9013fc28f017c264c053e7d0af3f29": {"username": "Evelyn Rodriguez", "tumblr": "", "display_name": "Evelyn Rodriguez", "url": "http://disqus.com/guest/cf9013fc28f017c264c053e7d0af3f29/", "registered": false, "linkedin": "", "blog": "http://evelynrodriguez.typepad.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "6d7e7cf0278bf882f2d999a0cffc78b0": {"username": "pardyj", "tumblr": "", "display_name": "pardyj", "url": "http://disqus.com/guest/6d7e7cf0278bf882f2d999a0cffc78b0/", "registered": false, "linkedin": "", "blog": "http://pardyj.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": ""}, "3f322b1d5add87ae016967212a2067ba": {"username": "Kevin Burton", "tumblr": "", "display_name": "Kevin Burton", "url": "http://disqus.com/guest/3f322b1d5add87ae016967212a2067ba/", "registered": false, "linkedin": "", "blog": "http://tailrank.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": ""}, "9a4cd3cab2f615de6ee585994b1c9fe2": {"username": "Bob Jones", "tumblr": "", "display_name": "Bob Jones", "url": "http://disqus.com/guest/9a4cd3cab2f615de6ee585994b1c9fe2/", "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": ""}, "75fd005727556aaa0e1dd18752e69f0a": {"username": "Cars", "tumblr": "", "display_name": "Cars", "url": "http://disqus.com/guest/75fd005727556aaa0e1dd18752e69f0a/", "registered": false, "linkedin": "", "blog": "http://www.pakcar.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": ""}, "4d5d4450a4a15ec91682f6dd3d025cfd": {"username": "Andrew Hitchcock", "tumblr": "", "display_name": "Andrew Hitchcock", "url": "http://disqus.com/guest/4d5d4450a4a15ec91682f6dd3d025cfd/", "registered": false, "linkedin": "", "blog": "http://andrewhitchcock.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": ""}, "16b1027fc03b1989996c46ac9158e0ee": {"username": "Tomis", "tumblr": "", "display_name": "Tomis", "url": "http://disqus.com/guest/16b1027fc03b1989996c46ac9158e0ee/", "registered": false, "linkedin": "", "blog": "http://tomis.blogsome.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": ""}, "6f7addaed3e1d4fdf0b047695ddd5f70": {"username": "sk", "tumblr": "", "display_name": "sk", "url": "http://disqus.com/guest/6f7addaed3e1d4fdf0b047695ddd5f70/", "registered": false, "linkedin": "", "blog": "http://sparksengr.wordpress.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/189/6410/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "6a71be96247373eafbb103f16653134e": {"username": "jbarry315", "tumblr": "", "display_name": "jbarry315", "url": "http://disqus.com/guest/6a71be96247373eafbb103f16653134e/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}}, "forum": {"use_media": true, "name": "Scobleizer", "streaming_realtime": true, "url": "scobleizer", "allow_anon_post": true, "reactions_enabled": true, "reply_position": 1, "show_avatar": true, "allow_anon_votes": false, "disqus_auth_disabled": false}, "realtime_enabled": true, "request": {"username": "", "is_global_moderator": false, "sharing": {}, "sort": 4, "forum": "scobleizer", "is_initial_load": true, "is_authenticated": false, "timestamp": "2009-12-17_09:23:31", "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": {"9662464": {"up_voted": false, "ip": "", "has_replies": false, "message": "Actually, I'm 27 and I think it's quite hilarious.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-03-27_14:14:54", "killed": false, "user_key": "76dd7b71d675642274a559d8a5302e13", "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}, "9662465": {"up_voted": false, "ip": "", "has_replies": false, "message": "Microsoft stoled the guys image without _asking_ him. Why should he _ask_ them to take it down? I think he did the right thing. Change it to something that will embarrass them. It brings attention to the issue. Microsoft pirated the content!<br><br>Of course, all this does in the long term is ensure companies host the content they've stolen instead of linking to it.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-03-27_13:23:08", "killed": false, "user_key": "16b1027fc03b1989996c46ac9158e0ee", "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}, "9662466": {"up_voted": false, "ip": "", "has_replies": false, "message": "\"I wouldn\u2019t worry too much about Niall\u2019s employment prospects. Giving Microsoft the finger will enhance his prospects with the majority of humans.<br><br>Comment by Greg \u2014 December 12, 2006 \"<br><br>Yeah i heard he got a new job in PR at apple???", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-07-03_20:03:11", "killed": false, "user_key": "d47afd378c0ca60d4273ebdd71bca4c3", "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}, "9662467": {"up_voted": false, "ip": "", "has_replies": false, "message": "Quote \"When people start saying you shouldn\u2019t burn bridges and should always be nice even if you don\u2019t want to be, I start to question how authentic they are. It\u2019s a form of self-censorship that runs counter to the spirit of blogging.\"<br><br>I reckon the word blogging is probably interchangeable with evolution here...", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-07-03_20:06:59", "killed": false, "user_key": "d47afd378c0ca60d4273ebdd71bca4c3", "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}, "9662359": {"up_voted": false, "ip": "", "has_replies": false, "message": "office challenges...pray that it all works out", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-07_07:55:19", "killed": false, "user_key": "5f838649416fe0d2763f1bd70aea7d89", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662360": {"up_voted": false, "ip": "", "has_replies": false, "message": "Hhhmmmm........", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-07_07:54:05", "killed": false, "user_key": "75fd005727556aaa0e1dd18752e69f0a", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662361": {"up_voted": false, "ip": "", "has_replies": false, "message": "BTW.  From where did Niall steal the porn picture.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-07_07:16:01", "killed": false, "user_key": "f950de1553dfad3075a6fc0be57d382f", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662362": {"up_voted": false, "ip": "", "has_replies": false, "message": "Yea, yea, Niall, this is going on your permanent file.<br><br>Scoble, you're a douche.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-05_20:41:50", "killed": false, "user_key": "f256678460c5afe31bdab98049fcde6f", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662363": {"up_voted": false, "ip": "", "has_replies": false, "message": "Microsoft: PLEASE Mr. BUSH, POOR PEOPLE IN CHINA ARE STEALING OUR SOFTWAREZ!!!!!!!!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-05_20:42:54", "killed": false, "user_key": "f256678460c5afe31bdab98049fcde6f", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662364": {"up_voted": false, "ip": "", "has_replies": false, "message": "\"And a written apology to Niall.\"<br><br>Just like Niall owes a written apology to readers of that blog. I don't think he's going to do it anyway. A naked back may not be pornographic but it's definitely not tasteful.<br><br>\"It wasn\u2019t exactly tactful, but it\u2019s dead certain to more effective than a gently-worded (and quickly ignored) e-mail.\"<br><br>The e-mail needn't have been gently-worded. He should  have probably e-mailed them first and done this if that didn't work, you know?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-05_20:29:46", "killed": false, "user_key": "6f7addaed3e1d4fdf0b047695ddd5f70", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662365": {"up_voted": false, "ip": "", "has_replies": false, "message": "\"I don\u2019t think so. Unprofessional, especially for someone who used to work at Microsoft.\"<br><br>As a former Microsoft-y myself, I have to say that -- having experienced the kind of self-absorption that runs rather rampant within the company -- the Niall stunt probably was more effective than you may think.<br><br>If asked nicely, the individual responsible may have pulled down the \"offending\" image. If shown, publicly, how inappropriate the action is, now many within management and throughout a variety of teams are going to be more careful in future.<br><br>It wasn't exactly tactful, but it's dead certain to more effective than a gently-worded (and quickly ignored) e-mail.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-05_20:20:42", "killed": false, "user_key": "fbb7bd7683688949f631544c7ce4120c", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662366": {"up_voted": false, "ip": "", "has_replies": false, "message": "Ok folks, here's a little something that you learn in kindergarten - if it's not yours and you take it, it's called STEALING,  Geesh, what's so hard to understand about that.  It doesn't matter if he had something on his website about whether or not you needed permission to use something off his site.  The basic fact is that it wasn't Microsoft's site, ergo it's stealing.  That means that no dessert for Microsoft, a time out in the corner and a spanking.  And a written apology to Niall.<br><br>Secondly, I've read that he replaced it with a pornographic image - no he didn't.  The naked back is not pornographic.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-05_20:09:13", "killed": false, "user_key": "9658c848d93bc4d2cd181325c6b51c02", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662367": {"up_voted": false, "ip": "", "has_replies": false, "message": "I think sometimes you gotta do, what you gotta do. But sometimes you pay for what you had to do! Maybe a little, maybe a lot. Best of luck to you Niall. :)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-07_00:31:36", "killed": false, "user_key": "9809ea7ca80d2a3e32bcccc39b9aeea2", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662368": {"up_voted": false, "ip": "", "has_replies": false, "message": "I'm with Diego (way the hell up there). Caterina Fake might've pulled this on Om, but Niall pranking Microsoft is much more memorable. To \"Niall\" someone seems like the perfect shorthand to describe swapping an image to sabotage an inline linker. Better than to \"Caterina,\" anyway.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-07_00:32:59", "killed": false, "user_key": "hawaii", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662369": {"up_voted": false, "ip": "", "has_replies": false, "message": "My worse side merrily applauds Niall\u2019s \u201cobey impulse, live the moment, damn the consequences\u201d attitude that I find so seductive. As for career consequences, all that is above my head. As a useless git, I have excelled at crashing in flames all my life. Everybody has to have a hobby. Good luck Niall. Get drunk? Cy Quick of <a href=\"http://mydigest.wordpress.com\" rel=\"nofollow\">mydigest.wordpress.com</a>", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-06_19:18:17", "killed": false, "user_key": "34e057f1742ff255209996e00a780740", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662370": {"up_voted": false, "ip": "", "has_replies": false, "message": "<a href=\"http://www.msfirefox.com/\" rel=\"nofollow\">http://www.msfirefox.com/</a>", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-05_18:45:08", "killed": false, "user_key": "f4c1458a0b5a86387aeadd028da2d2e4", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662371": {"up_voted": false, "ip": "", "has_replies": false, "message": "@Niall Kenned.<br><br>If the image was not insulting or offensive why not post it on your blog, but only link to it. Porn or not, do you think that MS blog readers deserve this picture while your readers not?<br><br>MS blogger may be wrong, but this could not use as your excuse, you are responsible for what you have done. At least you should apology to MSDN blog readers", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-05_18:25:50", "killed": false, "user_key": "699f090d694ebb493b5335573562678d", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662372": {"up_voted": false, "ip": "", "has_replies": false, "message": "Sounds like a bummer.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-06_18:12:06", "killed": false, "user_key": "ba9006f67d229a3421d0f02ac8af1829", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662373": {"up_voted": false, "ip": "", "has_replies": false, "message": "Well, I took a look at the picture. Really LMAO @ the description of this image as \"pornographic\"!<br><br>por\u00b7nog\u00b7ra\u00b7phy: n. Depiction of erotic behaviour intended to cause sexual excitement.<br><br>I'm not even sure if this image qualifies as \"offensive\".  It's more anatomical than anything.<br><br>This is just an (amusing) storm in a teacup...", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-05_17:50:40", "killed": false, "user_key": "6625370ffa42f6c3f82d88c4bce53fc9", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662374": {"up_voted": false, "ip": "", "has_replies": false, "message": "Just a reminder to read the comment #68, Niall's response.<br><br>One salient point:<br><blockquote>A few months ago Flickr co-founder Caterina Fake swapped one of her Flickr photos after improper use on Om Malik's blog, placing the word \"GOATSE\" in big letters in place of her picture of an awning of the Brickhouse restaurant in San Francisco. Photo swapping is a definite way to grab the attention of the site misusing your content. The Goatse meme is particularly apt for cases of direct or attempted IP theft.</blockquote>", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-05_17:37:18", "killed": false, "user_key": "7bfd646dea8e47642bbb573f026bf159", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662375": {"up_voted": false, "ip": "", "has_replies": false, "message": "sk,<br><br>I think it was from \"Email\" link (contact.aspx) at blog.<br><br>Also - take a look at this from other point of view. He has account at Flickr, he is free to do anything he wish with it - upload/delete/change pictures at it.<br><br>Why should he care if somebody has linked to HIS pictures ?<br><br>It's big mistake at web-world - linking instead of hosting on your own host.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-05_17:22:47", "killed": false, "user_key": "bb523bc2f16158d725ee55f5973d0d73", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662376": {"up_voted": false, "ip": "", "has_replies": false, "message": "Wow! That image was anything but tasteful. I don't think the \"CC\" logo really hides anything. There's no doubt that Sean Lyndersay made a mistake and there's also no doubt that ultimately, it's Microsoft's responsibility but what was this all about? Seems like it was done more out of spite.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-05_16:38:58", "killed": false, "user_key": "6f7addaed3e1d4fdf0b047695ddd5f70", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662377": {"up_voted": false, "ip": "", "has_replies": false, "message": "Niall, did Sean Lyndersay respond to your e-mail or did it actually go to his junk mail folder?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-05_16:22:54", "killed": false, "user_key": "6f7addaed3e1d4fdf0b047695ddd5f70", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662378": {"up_voted": false, "ip": "", "has_replies": false, "message": "Err like who cares? and what happenned to the post Microsoft Mr Bleizer ?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-05_16:05:07", "killed": false, "user_key": "da29e90e3ee3e8f6d26e5b5453104362", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662379": {"up_voted": false, "ip": "", "has_replies": false, "message": "It seems that similar arguments of career safe guarding have been used in the past with Microsoft, such employees not using \"game guides\" during their own personal game time. Google likes to recruit from Burning Man, other companies may stay away from the fire and nudity.<br><br>If you'd like a long read of the events from my point of view <a href=\"http://www.niallkennedy.com/blog/archives/2006/12/microsoft-copyright-photograph.html\" title=\"Handling of Microsoft's copyleft violation\" rel=\"nofollow\">I've posted my own account to my blog</a>.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-05_15:15:29", "killed": false, "user_key": "053f44a14d96704ad6e22556eb4fa520", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662380": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert,<br><br>Have you even tried to contact Microsoft to change something without your blue badge and access to active directory address book ?<br><br>It's worth to try.<br><br>Niall did everything correctly. If you think that kissing Microsoft ass till end of your days is good strategy to be hired back - nobody will try to change your opinion - keep doing this.<br><br>For human resources there must be different hiring criteria: Will this person be able to work good and in creative way - not kissing ass of his managers to get nice annual review score.<br><br>For you better to keep doing good job at PodTech - otherwise you will never that fame that you got from posting under Microsoft badge.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-05_15:06:18", "killed": false, "user_key": "bb523bc2f16158d725ee55f5973d0d73", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662381": {"up_voted": false, "ip": "", "has_replies": false, "message": "Sure, Niall could have been more tasteful in how he expressed being upset, but Robert, I wonder as to the goals of your post? If any of your message was genuinely to help Niall, I think you are way off the mark. \"Easily taken care of, if you want, with a single email to the right guy.\"", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-05_14:45:22", "killed": false, "user_key": "e71486d6f8fe2954b12a9a26eaffad45", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662382": {"up_voted": false, "ip": "", "has_replies": false, "message": "&gt;That perhaps Microsoft would not consider having him back after something like this, in which case I am trusting your perception, you having worked at Microsoft and I having not worked there.<br><br>Actually, I wasn't thinking he'd go back to Microsoft. But enough other people would see this kind of behavior and be troubled by it.<br><br>Former Microsoft employees now work at lots of other companies too, so if you burn a guy who works today at Microsoft, chances are that tomorrow he'll work at Google or Apple or some other place you might like to work and you'll never figure out why you didn't get hired.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-06_17:05:15", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662383": {"up_voted": false, "ip": "", "has_replies": false, "message": "\"I interpret Niall\u2019s behavior not as a prank or a childish response, but as an honest, passionate (and possibly angry) reaction to someone disrespecting his rights.\"<br><br>What about goat man's rights? His picture was copyrighted too. I'll bet he's feeling violated right now.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-05_12:26:04", "killed": false, "user_key": "70fe121c9172e9882762d7f28f233567", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662384": {"up_voted": false, "ip": "", "has_replies": false, "message": "I interpret Niall's behavior not as a prank or a childish response, but as an honest, passionate (and possibly angry) reaction to someone disrespecting his rights. It was a you-f**K-with-me-I'll-do-it-straight-back response.<br><br>I'm sure he thought long and hard before he did it. And I'm sure to some extent he regrets doing it, but he also knows he'd feel a lot worse if he'd done nothing.<br><br>Some people are just wired that way. They're proud. Frankly, they make the world much more interesting than it otherwise would be.<br><br>Since Robert is travelling, I won't go too far on this point, but I thought the whole point of blogs was authenticity.<br><br>When people start saying you shouldn't burn bridges and should always be nice even if you don't want to be, I start to question how authentic they are. It's a form of self-censorship that runs counter to the spirit of blogging.<br><br>It makes me question Robert's motives for questioning Niall's transparently obnoxious behavior. Would he have said the same thing if the person responsible was potentially going to be a future employer?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-05_12:09:35", "killed": false, "user_key": "b65f1f36b37cf0949b52a1513add953e", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662385": {"up_voted": false, "ip": "", "has_replies": false, "message": "Via Skype tect chat, I spoke to Niall this morning (see the link in comment #60 for details) and got more details behind the story from the horse's mouth.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-05_12:09:56", "killed": false, "user_key": "f259169eb5cb73c577261845a24a64c5", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662386": {"up_voted": false, "ip": "", "has_replies": false, "message": "Always pays to host your own images and play by the rules.<br><br>Blogging 101.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-05_11:56:45", "killed": false, "user_key": "1ec460d37a55e5563d9ebb258913c848", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662387": {"up_voted": false, "ip": "", "has_replies": false, "message": "Wow. This is what I call a Naked Conversation of ever there was one.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-05_12:00:34", "killed": false, "user_key": "894e015dd504d5df6cd9a8f0a95100e9", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662388": {"up_voted": false, "ip": "", "has_replies": false, "message": "Thats really worth a laugh. But maybe thats only true because micr*soft is involved.<br>Would it be funny if a no-name webhosting company did this? I think people would never recognize.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-05_11:56:36", "killed": false, "user_key": "144c67ad2ed3608f36706e054fbd3845", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662389": {"up_voted": false, "ip": "", "has_replies": false, "message": "A few months ago I noticed someone hosting one of my CC videos on YouTube without attribution. My first thought was to be a dick and e-mail YouTube to have it taken down. I had a change of mind and decided to sign up for a YouTube account and send the user a message asking him to give me attribution.<br><br>People get pissed off when big companies send rude take-down messages and don't understand New Media. If I had gotten the video removed, it would have created hostility and bad PR for me. The guy quickly responded and offered to remove the video, even though I said it was okay for him to leave it there.<br><br>Kindness and words can go a long way; you don't have to be rude or piss people off to make a point. I've learned this lesson myself, but it seems Niall hasn't.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-06_14:56:24", "killed": false, "user_key": "4d5d4450a4a15ec91682f6dd3d025cfd", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662390": {"up_voted": false, "ip": "", "has_replies": false, "message": "\"Scoble (no offense) seems to be taking the role of the nagging father figure by warning us to bend over or, god forbid, risk 10% of getting hired in the future.\"<br><br>It's a lot easier to say \"to hell with 10 percent of my future job prospects\" when you're young. Scoble's paternal instinct is something you crazy kids with your \"F the Man\" tattoos and your hip-hop music and low-rider jeans with the butt flosser underwear sticking out the top should think about every once in a while. You'll thank me when you have kids and a mortgage.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-05_11:19:17", "killed": false, "user_key": "70fe121c9172e9882762d7f28f233567", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662391": {"up_voted": false, "ip": "", "has_replies": false, "message": "I hear Dominic. I don't want to work with yes-people that just tell you what you want to hear either.<br><br>Here's the section from the group agreements for a weekly \"Daring to Live an Authentic Life\" group that I used to faciliate/run (I say 'used to' because it's not I that runs it now, but We.) Yes, you can be both professional/kind AND straightforward/true to your integrity.<br><br>\"TRUTH AND INTEGRITY:  Group members agree to be authentic and truthful.  Speaking the truth involves risk and can only occur safely in a compassionate environment.<br><br>Due to the topic of this group \u201cDaring to Live an Authentic Life,\u201d this is especially important.  There is a way to communicate with compassion and diplomacy and not suppress our intense feelings, avoid \u201celephants in the room\u201d, or skirt difficult issues.<br><br>Often in our interactions with others we have conditioned and trained ourselves to squash what we need to say out of habit \u2013 and an overt sense of \u201cpoliteness\u201d, fear of judgment, or our need for approval.<br><br>This is a rare opportunity to practice authentic conversation in a safe environment. Speak with integrity, respect, and dignity for other people. Remember honesty is not the same as bluntness. Be kind.\"", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-05_11:23:19", "killed": false, "user_key": "cf9013fc28f017c264c053e7d0af3f29", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662392": {"up_voted": false, "ip": "", "has_replies": false, "message": "A few clarifying comments.<br><br>First, it was a clear mistake on my part not to link back to Flickr or attribute Niall for the use of his photo. I had fully intended to attribute to the photo to Niall, and simply forgot while writing the post.<br><br>In updating the post, I immediately apologised publicly for that mistake (TDavid: it's still there: you can go and read it).<br><br>Personally, I fully support Niall's (and flickr's) rights here (including, for that matter, Niall's right to change or remove the image).<br><br>I found out about the change from a co-worker and had removed the image from the post just before Niall emailed me.<br><br>Rogers: yes, the picture you're thinking of is the one that was posted.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-05_11:24:01", "killed": false, "user_key": "e04e2eeeaee5f460298cf1fbafb54382", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662393": {"up_voted": false, "ip": "", "has_replies": false, "message": "\"I\u2019d hire Mr. Niall Kennedy in an instant, if ever I was in the fortunate position to do so. I admire people who don\u2019t take sh*t from anyone and give it straight back.\"<br><br>Dominic - agreed. Scoble (no offense) seems to be taking the role of the nagging father figure by warning us to bend over or, god forbid, risk 10% of getting hired in the future. Scoble should see that he has risked at least 10% of his career by simply having a blog and having the balls to occasionally call out and talk shit on companies. And if you think that's any different than having a photo switcharu, you're wrong.  Companies take it very personally whether it's through words or photos.  Niall is known for his photography, so this was his ode to a shit-talking blog post. Doesn't make it \"right\" but that's besides my point.<br><br>Someone just today sent me something about how we should ban hiring people who \"fuck up\", to which I went off on an opposing rant:<br><br><a href=\"http://www.shakewellbeforeuse.com/2006/12/if_youre_going_to_fuck_up_fuck.php\" rel=\"nofollow\">http://www.shakewellbeforeuse.com/2006/12/if_yo...</a>", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-05_11:04:29", "killed": false, "user_key": "cb90da13aeb59302b016efcf28aa8eab", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662394": {"up_voted": false, "ip": "", "has_replies": false, "message": "I think it's a mistake to think that all people will have the same reaction to what this guy did.<br><br>Sure, some people will think - \"Oh, that's really unprofessional, I would never hire this guy\".<br><br>However, others will just think, \"He was within his rights to post whatever pictures he wants on his Flickr feed.  And if he wants to have a little fun with that, good for him.\"<br><br>The truth is: this kind of thing can work both ways...", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-05_03:10:28", "killed": false, "user_key": "6625370ffa42f6c3f82d88c4bce53fc9", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662395": {"up_voted": false, "ip": "", "has_replies": false, "message": "Niall: thanks for giving me more info. So you just told him this morning? Wow, that's giving the team enough time to react. You know that everything inside Microsoft takes longer than a morning to get done.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-05_02:11:08", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662396": {"up_voted": false, "ip": "", "has_replies": false, "message": "Remember, copyright violation is THEFT. We're told so over and over again by the mainstream media. So the real story here is:<br><br>Microsoft is a thief.<br><br>Microsoft steals.<br><br>And then Microsoft's cronies blame the victim of their theft.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-05_02:13:28", "killed": false, "user_key": "173a00940e5cfdabcca7c118f6ae62c2", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662397": {"up_voted": false, "ip": "", "has_replies": false, "message": "Niall: \"Nothing pornographic was shown in the picture, just a guy's back with a big CC logo covering his rear.\"<br><br>Were there two hands on the sides of the CC logo pulling it open?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-05_10:05:16", "killed": false, "user_key": "70fe121c9172e9882762d7f28f233567", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662398": {"up_voted": false, "ip": "", "has_replies": false, "message": "PS:<br><br>And by perspective I mean hermeneutic of interpretation.  I have no idea how to understand the implications of that sentence: as sarcastic, as ironic, as factual, etc...<br><br>Hope that seems more lucid now.<br><br>Carry on!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-06_13:37:17", "killed": false, "user_key": "ba9006f67d229a3421d0f02ac8af1829", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662399": {"up_voted": false, "ip": "", "has_replies": false, "message": "Dave: I don't work for Microsoft. Thanks for noticing.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-06_13:16:29", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662400": {"up_voted": false, "ip": "", "has_replies": false, "message": "Scoble:<br><br>I didn't mean to insinuate that you did, I just meant to notice your consideration here:<br><br>\"Remember Niall, maybe someday this Web 2.0 bubble will end and you might need to go back to a company and look for a job. I know that doesn\u2019t seem probable right now, but I\u2019ve been there.<br><br>Burn bridges if you want, but I\u2019ve learned over and over that people remember this kind of treatment and it certainly never disappears from Google. All three of my last job interviews had people looking over Google for unprofessional stuff like this to bring up in the interviews. And, all big companies have people who used to work at Microsoft so that bridge you\u2019re blowing up? Might turn out to be the one you need to cross in the future.\"<br><br>That perhaps Microsoft would not consider having him back after something like this, in which case I am trusting your perception, you having worked at Microsoft and I having not worked there.<br><br>Of course I have no real perspective on what you mean when you say \"I don't work for Microsoft\" seeing as how I don't have any personal perspective on you, so perhaps this whole game is a bit tenuous and strained when thinking about trusting people or some level of truth.<br><br>I just meant to say: lighten up eh?<br><br>So-- yay for philosophical debate and pranks!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-06_13:33:58", "killed": false, "user_key": "ba9006f67d229a3421d0f02ac8af1829", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662401": {"up_voted": false, "ip": "", "has_replies": false, "message": "That this can't be seen as funny but some bad PR stunt, seems to defy logic.  If a company takes itself so seriously that it can't laugh at what a former employee did in jest, then the company needs to really inspect itself.<br><br>What Niall did is a reflection of his character, it's how he operates, whether he thought it was funny or did it out of angst and languor, or even anger is irrelevant.  If it did not appear during the time that he worked at Microsoft then he repressed part of  his character while working there.<br><br>I don't mean to morally justify what he did, so much as point out that Microsoft should have a good sense of humor about itself in remembering stunts like this.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-06_13:04:34", "killed": false, "user_key": "ba9006f67d229a3421d0f02ac8af1829", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662402": {"up_voted": false, "ip": "", "has_replies": false, "message": "Beyond the fact that it burns the bridge back to Microsoft, I'm pretty certain such publicity compounded with previous instances [http://www.sifry.com/alerts/archives/000297.html] suggest a recurring behavior that other employers and partners are likely going to avoid.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-05_09:47:58", "killed": false, "user_key": "b02f842303e275bacf9a66c710b2ee8a", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662403": {"up_voted": false, "ip": "", "has_replies": false, "message": "Frankly its silly. But its not at all surprising considering the fact that Niall was vitriolic about MSFT when he quit. He wasnt gonna miss out an opportunity like this. Look at his comment at #7. He says his mails are going to junk mail folder and so he didnt bother mailing. I dont know what he is implying here.<br><br>Besides, I dont understand how this would amount to stealing. It wasnt even used commercially.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-05_00:53:57", "killed": false, "user_key": "df2bebffe2fece4cee7ed284aaff3cf0", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662404": {"up_voted": false, "ip": "", "has_replies": false, "message": "Sam - I responded to your comment on my blog too. I'm surprised anybody needs to defend Microsoft --- common sense management 101 here yes/no? -- on the actions of one employee. Have any of you flaming Microsoft over this ever been a manager or owner of a company with employees and had one of your employees do something stupid?<br><br>This isn't drinking company Kool-aid, it's the reality of being a manager and/or owner of a company with employees. Managing people means people make mistakes and managing those mistakes. Was this done by the employee with malice? It seems to me from the facts we all have, this wasn't done maliciously and the image has been removed. Yes, the employee should have known better, yadda, yadda.<br><br>Employees making mistakes has happened to me many times and I'm sure it happens at Microsoft routinely. It happens from time to time in any company, regardless of posted, well known policies and procedures. There are also even more litigious employee infractions to deal with like sexual harassment, theft of company property, etc.<br><br>As I said above in #35, I'm sure some fur has flown internally. The Microsoft company response to the employee in question -- and again, it's one employee -- shouldn't be a blog transparent response for the rest of the world to see.<br><br>And Eric - I agree with most of what you said in your response. I never said Microsoft the company wasn't responsible here (in fact I'm saying almost the same thing as you), just asking that (some) people keep this situation in perspective.<br><br>Too many times on the web the response for Microsoft --  wrong or right -- is get out the pitchforks. Yes, sometimes the company deserves criticism and I'll jump aboard that train when it is reasonable. I don't think blaming Microsoft the company here <i>completely</i> is a reasonable response. If we set the bar too high then every company with employees is in trouble when their employee hotlinks an image.<br><br>Finally, I doubt we'll see any public response from Microsoft on this one, nor should we, but I do think that the parties involved, including Mr. Kennedy and Yahoo (since they own Flickr and thus it was them who had their bandwidth used) should receive a direct response and apology for the incident.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-05_09:42:44", "killed": false, "user_key": "f259169eb5cb73c577261845a24a64c5", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662405": {"up_voted": false, "ip": "", "has_replies": false, "message": "Awesome!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-06_12:02:25", "killed": false, "user_key": "401fb098a867eb9a0d17875a31fa35a1", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662406": {"up_voted": false, "ip": "", "has_replies": false, "message": "Greg: if you worked at Microsoft and it takes 30 calls to get anyone's attention, you must not have been a very good employee.<br><br>He already admitted that he didn't give the team a chance. You say that's fine in your book. Geesh, if I screw up, I hope someone gives me a chance to fix my mistakes before making a capital case out of it.<br><br>Hell, if it were me I would have asked for a nice licensing fee first. Then I would have thrown up a Firefox advertisement if they didn't do anything. That would have been FAR funnier AND gotten their attention JUST as effectively (even moreso, me thinks).", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-06_11:54:38", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662407": {"up_voted": false, "ip": "", "has_replies": false, "message": "I had something similar happen to me where someone was stealing my bandwidth via hotlinking an image.<br><br>Instead of porn, I simply replaced the image with a graphic with the words \"Stop stealing my pictures\".<br><br>Things were resolved in a matter of minutes...", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-05_00:27:30", "killed": false, "user_key": "990ce9c0f5e202ae9d5fec8eaa70559d", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662408": {"up_voted": false, "ip": "", "has_replies": false, "message": "I'm a fan of making the hot-linker feel shamed, rather than scandalized.  A frowny-face and \"When you ignore image licenses, God kills a kitten\" sort of thing.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-05_00:27:45", "killed": false, "user_key": "b0a2e6598ee59237a0ebf6e801876f4d", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662409": {"up_voted": false, "ip": "", "has_replies": false, "message": "I wouldn't worry too much about Niall's employment prospects. Giving Microsoft the finger will enhance his prospects with the majority of humans.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-12_11:49:37", "killed": false, "user_key": "0ae70654549a0d94c28be03cae360316", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662410": {"up_voted": false, "ip": "", "has_replies": false, "message": "Osman: well, if Niall wasn't a Microsoft employee I might have agreed. But, now all a potential hiring manager will see is conduct after leaving, which will raise all sorts of red flags.<br><br>I don't get what being nice and professional has to do with free speech anyway. This wasn't a free speech issue. It was an intellectual property control issue. Easily taken care of, if you want, with a single email to the right guy.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-04_19:33:53", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662411": {"up_voted": false, "ip": "", "has_replies": false, "message": "I just think that it doesn't really hurt the MS fame about having a little disrespect for what is open(as in free speech).", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-04_19:27:41", "killed": false, "user_key": "2976c291a9a3dcc2dcbbf9e074c9a252", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662412": {"up_voted": false, "ip": "", "has_replies": false, "message": "I think people are missing the point here.<br><br>I don't think Robert (in his original post long ago and waaaay up there at the top) is saying that Microsoft did not do something wrong... I think he is saying that Niall was being unprofssional in his response and that he was burning bridges that he might \"need to cross in the future\".<br><br>Now - we can see two things from this post and its responses:<br>1) Lots of people have different standards and personal codes as to what is acceptable / professional behaviour and what is not. I personally think it was a prank, a bit childish but not really harmful to Microsoft - more damaging really to the person who linked the image in the MS blog... not the way to behave _if_ you want to work in the corporate IT sector today. Employers in major (and many minor) companies _do_ google employees and they _do_ check other sources to see if they can guage a person's personality and behavioural patterns. If I were a prospective employer I wouldn't be so worried that Niall played a prank on someone stealing his bandwidth - I'd be concerned that he has no respect for a former employer. If you can fall out with one employer (and let it blow up publically in any way) you can fall out with the next just as easily... Therefore you are a permanent risk!<br><br>2) Robert Scoble's post from the other day <a href=\"http://scobleizer.com/2006/11/28/uk-press-complaints-commissioner-no-means-of-redress/\" rel=\"nofollow\">http://scobleizer.com/2006/11/28/uk-press-compl...</a> has been proven correct. Scoble did not do his research as thoroughly was he would have to if he were a journalist (if your facts come from other mainstream media and you are not going to check them thoroughly you don't just cite them you make clear at each point that \"if [such and such a source] is correct] then he behaved childishly\" or \"So, what did Niall do? Did he call up one of his former co-workers at Microsoft and explain that he was pissed and get the problem taken care of nicely and behind closed doors? [According to such and such a source] No.\") However if a blogger does not do this then the person being discussed on the blog (Niall Kennedy in this case) can reply and make his case clearer... Hence, if one day, someone googles Niall Kennedy and sees from Scoble's blog that he did X, Y and Z - they also see that he responded and clarified the situation.<br><br>Now my big question for Niall would be: if Robert Scoble quoted media sources that have got the facts wrong, what is he doing to get those facts amended in the mainstream media where they will do just as much (if not more) harm to his career?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-05_09:10:54", "killed": false, "user_key": "612ffc8eee88e92dc8473e86c9ee629d", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662413": {"up_voted": false, "ip": "", "has_replies": false, "message": "I'm in agreement here. Seems rather cruel.  I mean that doesn't really hurt MS the entity, but the poor guy who made the error.  And, it's not like it's not an easy error to make as blogs FEEL personal and non-commercial, even when that's not the case.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-04_19:06:51", "killed": false, "user_key": "50c4fa98865bc1515f51c47afb814dc0", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662414": {"up_voted": false, "ip": "", "has_replies": false, "message": "TDavid,<br><br>Respectfully, your response contains the crux of the matter, though you overlook it:<br><br>\"Niall should know better how this stuff works since he actually worked there. Microsoft has tens of thousands of employees and the actions of one on an *official* blog shouldn\u2019t be compeletely representative of the company as a whole.\"<br><br>Yes, it was an individual employee that did this. Yet it was an individual on Microsoft's time, posting on Microsoft's blog that made the mistake. Therefore, it *was* Microsoft that is responsible for the error. As you said, it was posted on one of Microsoft's \"official\" blogs.<br><br>If we are to hold employees (or ex-employees) of companies professionally and personally responsible for what they say on their *personal* blogs, then companies should expect to be held to the same standards on their *corporate* blogs. If it's wrong for John Q Public to do, then so it is wrong for Company X to do -- whether or not it was an accident (which it most likely was).<br><br>Eric", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-04_23:45:10", "killed": false, "user_key": "9d5cb7fdbf8a44313a6ee576ece129ee", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662415": {"up_voted": false, "ip": "", "has_replies": false, "message": "The beginning of a new term? You got Nialled! :)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-04_23:23:04", "killed": false, "user_key": "df679bd3d287a21d5ed6020bae384e17", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662416": {"up_voted": false, "ip": "", "has_replies": false, "message": "Now if we're talking about some splogger from China or Russia, I'm all for teaching them a lesson Niall-style.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-04_23:13:10", "killed": false, "user_key": "f259169eb5cb73c577261845a24a64c5", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662417": {"up_voted": false, "ip": "", "has_replies": false, "message": "Eric - I think what you have is the actions of \"one\" blogger, not Microsoft the company. Too often I think Microsoft the company is lumped in the actions of a small number of people (or single person).<br><br>Niall should know better how this stuff works since he actually worked there. Microsoft has tens of thousands of employees and the actions of one on an official blog shouldn't be compeletely representative of the company as a whole.<br><br>Yes, I realize employees are representing the company, but it wasn't a post about how to steal images on Flickr from Niall Kennedy. If that was the case, then get the torches, otherwise, what we have here is fail to communicate.<br><br>I doubt seriously anybody at Microsoft would advocate, support or encourage unauthorized hotlinking.<br><br>I'm sure that internally some fur flew over this incident.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-04_23:11:27", "killed": false, "user_key": "f259169eb5cb73c577261845a24a64c5", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662418": {"up_voted": false, "ip": "", "has_replies": false, "message": "Out of all the millions of images he could have chosen to post, he chooses a porn image?<br>That's just weak. And unprofessional.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-06_10:19:05", "killed": false, "user_key": "22b1b68ffd835a32c48fe30acdce793a", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662419": {"up_voted": false, "ip": "", "has_replies": false, "message": "Yeah, that must of really did a good job in catching Microsoft's attention. :p", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-06_09:48:16", "killed": false, "user_key": "6d7e7cf0278bf882f2d999a0cffc78b0", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662420": {"up_voted": false, "ip": "", "has_replies": false, "message": "Hmmm... Let's see, a big company, either be accident or intention (doesn't really matter), that lobbies for laws protecting intellectual property, spends millions of dollars devising ways to thwart piracy, and bends over backwards to stymie fair use of content on it's newest gadget, uses someone else's work without attribution or compensation, and when they're called publicly called on it, the victim is considered \"unprofessional?\" Sounds like a few too many people have sipped the corporate Kool-Ade\u2122 around here.<br><br>As someone who has had work stolen myself, I feel Microsoft should be bending over backwards to placate Niall Kennedy. After all, it was *his* rights that were violated, not Microsoft's! Try to remember that, okay?<br><br>Eric", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-04_22:58:08", "killed": false, "user_key": "9d5cb7fdbf8a44313a6ee576ece129ee", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662421": {"up_voted": false, "ip": "", "has_replies": false, "message": "Evelyn, no I wasn't implying that. :) I guess I was more referring to some that may have done so in their 20s but not, in their 40s are not, and therefore do not show up on Google.<br><br>Didn't mean to put all 40+ people in the same bucket. Sorry :)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-04_22:55:18", "killed": false, "user_key": "df679bd3d287a21d5ed6020bae384e17", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662422": {"up_voted": false, "ip": "", "has_replies": false, "message": "I think people are missing the point. If Niall put a picture of a little kitten would anyone have noticed? A porn image may have been in poor taste(don't know didn't see it) but it got their attention.<br><br>I think that was the point. Professional or not, sometimes you need to do something radical to get the attention of a large corporation. Even if he did work there. Lets see I could make 30 phones calls to get it resolved or put up one porn image. Hmmm how much is your time worth?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-06_07:59:50", "killed": false, "user_key": "c5b45515b665edce1dafe956c7bdf78f", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662423": {"up_voted": false, "ip": "", "has_replies": false, "message": "He he Diego are you implying 40-somethings aren't taking drugs, protesting, and free lovin'? Sure, I have a friend that lost a client when they found their Burning Man pics. Yet it was their loss, he is in all respects of high integrity and very smart.<br><br>That's a completely different issue than revenge for having your stuff non-credited.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-04_22:37:41", "killed": false, "user_key": "cf9013fc28f017c264c053e7d0af3f29", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662424": {"up_voted": false, "ip": "", "has_replies": false, "message": "Sounds like two wrongs do not make a right.<br><br>I see folks use images and writing on sites without attribution all the time. Could say that's unprofessionnal. Yet the solution need not be vindictive (I'm with Diego).<br><br>Typically all I need to do is email the folks using the content and remind them to use proper attribution.<br><br>Like Ben, I too bristle at the word \"professional\" because it often connotes conformity and silencing our  self.<br><br>Play nice in the sandbox, and it is a small world seems like the gist of Robert's post...and I agree.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-04_22:29:23", "killed": false, "user_key": "cf9013fc28f017c264c053e7d0af3f29", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662425": {"up_voted": false, "ip": "", "has_replies": false, "message": "I guess the 20-somethings are just a lot more visible now. Those 40/50-somethings just can't be Googled and have their drug taking, protesting, free lovin' days show up in the results. :)<br><br>As TDavid said, would that mean great people are being overlooked for stupid things they do? Look at that president that didn't inhale. Would he be overlooked for an IT job just for that?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-04_22:23:22", "killed": false, "user_key": "df679bd3d287a21d5ed6020bae384e17", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662426": {"up_voted": false, "ip": "", "has_replies": false, "message": "Interesting perspective, Dawn. An anon commenter on Todd's Seattle PI piece said something similar (though a lot less nicely).<br><br>I wonder if they are making their hiring decisions off the dumb moves 20-somethings are making on the web they are going to have a hard time finding people to hire. Especially if they can track down all these people's aliases.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-04_22:16:17", "killed": false, "user_key": "f259169eb5cb73c577261845a24a64c5", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662427": {"up_voted": false, "ip": "", "has_replies": false, "message": "Niall - tried to follow your contact link and received:<br><br>\"precondition failed\"<br><br>Strangely enough when followed from your about page at the root it worked.<br><br>So I'll leave this comment here before trying you on Skype.<br><br>After reading through your comments, Niall, I'm not sure what the order is here. Did you contact Sean after you swapped out the image with porn or before?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-04_22:05:01", "killed": false, "user_key": "f259169eb5cb73c577261845a24a64c5", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662428": {"up_voted": false, "ip": "", "has_replies": false, "message": "I'm 47 years old, have an MBA and know lots of hiring managers.  100% of them google prospective employees names, read their blogs, read their MySpace pages, read what others have written about them.  I hear what what are called \"horror stories\" all the time.  It's easy to present yourself well on a resume and in a cover letter, which many people don't even write themselves.  Employers want to know the real you, and a LARGE number of potential employers are turning hiring managers off big-time, esp. the 20-somethings.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-04_22:03:14", "killed": false, "user_key": "e93b47610372efeb509cff64858d52e3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662429": {"up_voted": false, "ip": "", "has_replies": false, "message": "Right now, I'm wondering if someone's started a website with these \"porn pictures used to replace images on Flickr used without proper licensing\", because it sounds like a natural niche.<br><br>But what strikes me queerest (in the strange, not gay) sense is that Flickr isn't for pornographic images.<br><br>I like Thomas Hawk's take on it:<br><br><a href=\"http://thomashawk.com/2005/05/flickr-and-porn.html\" rel=\"nofollow\">http://thomashawk.com/2005/05/flickr-and-porn.html</a><br><br>Me tho, I wouldn't have done pr0n... I would've done something more chic, like an \"alternate history\" image. Like say if someone copped a photo of trees I took, I'd change the type of trees, or maybe the season, or put birds on them.<br><br>All sorts of avenues for creativity.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-04_21:59:38", "killed": false, "user_key": "dafc572533aabb72de33f86817414d4e", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662430": {"up_voted": false, "ip": "", "has_replies": false, "message": "Maybe he should have replaced it with a photo of Britney Spears... um, on second thoughts, that would certainly be considered porn. :)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-04_21:53:26", "killed": false, "user_key": "df679bd3d287a21d5ed6020bae384e17", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662431": {"up_voted": false, "ip": "", "has_replies": false, "message": "Microsoft, attempting to steal something? That's a new one for sure.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-04_21:50:34", "killed": false, "user_key": "9a4cd3cab2f615de6ee585994b1c9fe2", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662432": {"up_voted": false, "ip": "", "has_replies": false, "message": "You have got to be kidding me. Microsoft illegally uses one of Niall's photos and you are calling him unprofessional!? Come on admit it. It was funny! Any company that wouldn't hire me for doing something like that isn't worth working for or with for that matter. We are wasting perfectly good pixels here folks.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-04_21:30:35", "killed": false, "user_key": "c5b45515b665edce1dafe956c7bdf78f", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662434": {"up_voted": false, "ip": "", "has_replies": false, "message": "Inline linking aka hotlinking aka bandwidth theft is a regular, and growing, problem:<br><a href=\"http://en.wikipedia.org/wiki/Inline_linking\" rel=\"nofollow\">http://en.wikipedia.org/wiki/Inline_linking</a><br><br>If somebody links to one of my images, hosted on my server, where I pay for the bandwidth, then I will brand that graphic with great big letters that say \"DO NOT STEAL BANDWIDTH\" or \"THIS IMAGE IS THE PROPERTY OF...\"  That is the risk that bandwidth thieves take when they link to graphics in such a way, and they only have themselves to blame.<br><br>If the blog author did not realise that inline linking without permission is unethical and costs their victim money, then this fact reveals a lack of education on the part of Microsoft that should be addressed.  Microsoft can well afford to host their own images and should have a policy in place that bans inline linking to graphics that are not hosted on their server, and for which they do not pay the bandwidth costs.  They should also ensure that their bloggers are not impeding on the rights of others.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-05_06:18:30", "killed": false, "user_key": "593a6c05e7c051e37e679f6a5d938da5", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662435": {"up_voted": false, "ip": "", "has_replies": false, "message": "Heh, well it certainly raises the awareness of respecting licensing, eh? It was sophomoric, effective, and funny. Got the press, too.<br><br>Tomorrow will be a new thing.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-04_21:25:33", "killed": false, "user_key": "e3827a7c1741cf42d52a0ab0dc2dc9ff", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662436": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert, want to review your facts at all?<br><br>I contacted Sean Lyndersay, the author of the post, this morning telling him he might want to swap out the image and let him know each of both the &lt;acronym title=\"Creative Commons\"&gt;CC&lt;/acronym&gt; violation and the Flickr ToS violation. After the image was removed from the Microsoft blog I swapped <a href=\"http://flickr.com/photos/niallkennedy/21325859/\" title=\"Dean Hachamovitch talking about RSS\" rel=\"nofollow\">the original photo</a> back in. Sean replied to my e-mail with his own interpretation of non-commercial.<br><br>I'll be seeing Dean next week.<br><br>Seriously, do you have any questions you'd like to ask directly? I post a link to <a href=\"http://www.niallkennedy.com/about/contact.html\" title=\"Contact Niall Kennedy\" rel=\"nofollow\">my contact info</a> on every post. Feel free to ask questions.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-04_21:22:28", "killed": false, "user_key": "053f44a14d96704ad6e22556eb4fa520", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662437": {"up_voted": false, "ip": "", "has_replies": false, "message": "Forgive the naive for interrupting; but, IMHO, it appears that a sour taste was left in the mouths of those caught siphoning someone else's brew who caught them at it, and spiked the barrel.  It seems that there would have been no noise generated at all if the initial siphon had never been implemented---  What was in the barrel could have changed at any time without notice.  Yet now, when the result of the siphoning is a little less sweet, the complaint is against the owner of the barrel.  If the \"porn\" had been directly posted by Mr. Kennedy himself on the blog, the issue would have been something different than what it is.  He only changed what was rightfully under his own control, and let the pirates continue to take--- to their own undoing...  At least, that's what I am led to understand through what's come out.  The impropriety under review should not have him as a focus at all; rather, the image taken served to illustrate in \"pictures\" an ill-advised effort by those caught with the goods.  It would appear that someone is complaining about something they took not being what they thought they were getting; and this, in public...", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-05_06:07:51", "killed": false, "user_key": "6a71be96247373eafbb103f16653134e", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662438": {"up_voted": false, "ip": "", "has_replies": false, "message": "\"But, do what you want in public. It\u2019s your life, not mine.\"<br><br>Oh, I completely agree on your side there... hence, I would've given Microsoft a warning before pulling something like that.  And even then, I'd probably want to file a lawsuit before doing the porn-switcharu.  Porn-switcharus should be left for MySpace hipsters who steal your images.  More humorous that way.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-04_21:18:35", "killed": false, "user_key": "cb90da13aeb59302b016efcf28aa8eab", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662439": {"up_voted": false, "ip": "", "has_replies": false, "message": "Also..... link baiting by controversy. :)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-04_21:12:18", "killed": false, "user_key": "3f322b1d5add87ae016967212a2067ba", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662440": {"up_voted": false, "ip": "", "has_replies": false, "message": "I totally think that in hindsight a Firefox logo would have been funnier/cooler...<br><br>Also...<br><br>\"But, did you leave a comment on their blogs saying 'I have a PR problem and a legal problem for you that I need to get through to someone about?'\"<br><br>Huh?  There's no way you would get a serious response.<br><br>I'm actually curious about though.  In about a month after this thing has blown over I'm going to pick a random MS blog and post that comment and see what happens.<br><br>Would be an interesting experiment to see if MS legal reviews their own blogs.<br><br>One problem is figuring out who to even call. If Niall wanted to receive compensation for the use of his image it would have taken months.<br><br>Now of course he could have done a DMCA takedown.  That would have been interesting.<br><br>The point I'm trying to make is that if MS's IP were \"stolen\" they would have been on you in a second but when the reverse is true it's David vs. Goliath and a bit harder to seek justice.<br><br>Good thing I don't take many pictures of MS employees. :)<br><br>Kevin", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-04_21:09:11", "killed": false, "user_key": "3f322b1d5add87ae016967212a2067ba", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662441": {"up_voted": false, "ip": "", "has_replies": false, "message": "Ariel: well, if you're right, this issue will never come up again. If you're wrong, though, we'll never hear about the jobs that Niall doesn't get offered.<br><br>I've already seen people lose opportunities for far less than this, so I'd rather be on the safe side of this line.<br><br>In either case, the team says that they never heard from him. Usually Microsoft lawyers are pretty good about getting back on stuff like this because they want to avoid lawsuits and PR stains, if possible.<br><br>But, do what you want in public. It's your life, not mine.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-04_21:04:57", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662442": {"up_voted": false, "ip": "", "has_replies": false, "message": "Violating the rights of the \"goatse\" picture owner(s) to illustrate how bad you feel about \"them\" violating your rights... sounds kind of mo^H^H ironic.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-06_03:38:55", "killed": false, "user_key": "a1e3e136a7f569d92ec27620751fb6f6", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662443": {"up_voted": false, "ip": "", "has_replies": false, "message": "Scoble, I use this technique all the time.  Typically my personal codes of conduct are that I warn them once, and if the image is still not given credit or taken down, then I replace it with a porn image.  I was about to do it to one blogger last month but then realized that more than 1 person had linked to that image so I was just left to piss and moan over a douchebag who stole my photography.<br><br>Unprofessional or not, if you're not getting a paycheck from them, then fuck it, they should know better (but I still believe in giving a warning first).  As for burning bridges, perhaps... but I imagine Microsoft burned down their bridge with Niall before he made sure to blow up any remaining pieces.  Perhaps some ex-Microsofties might be offended and never want to talk to Niall, but I imagine most are giggling on the inside.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-04_20:55:40", "killed": false, "user_key": "cb90da13aeb59302b016efcf28aa8eab", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662444": {"up_voted": false, "ip": "", "has_replies": false, "message": "Personally I think the proper way of handling this would've been:<br><br>1. Send an email.<br>2. Remove the image or replace with something not in poor taste.<br>3. Jump up and down screaming. Or you know, try contacting Microsoft by phone. I'm sure if you rang their reception and said \"one of your websites is violating my copyright, put me through to a lawyer\" you'd get things sorted pretty quickly.<br><br>For those bringing up the bandwidth issue, if this was a flickr image, he's not paying bandwidth.<br><br>Personally I think this makes Niall look like really immature - I would think twice before working professionally with him, and I'm sure others will too. It's not about being a yes man, it's about thinking about the fact that he's not just alienated himself against Microsoft, but potentially many readers of that blog", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-06_03:03:00", "killed": false, "user_key": "be73b6ce436e594cb6bd080a136cf6e5", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662445": {"up_voted": false, "ip": "", "has_replies": false, "message": "I say good on him for doing it. I'm sure Microsoft does not contact people personally if they are using a non validated version of Windows (breaking the licensing agreement) so why is it so wrong for a guy to defend his images that are being used in contradiction to the licensing agreement with similar tactics as WGA?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-04_20:50:33", "killed": false, "user_key": "5054bcb4b8836ba06b1144d6bc45b8f0", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662446": {"up_voted": false, "ip": "", "has_replies": false, "message": "A picture of someone's barely covered butthole is not in good taste. Ugh. He's in the right for swapping out, but this is one of those cases where it's better to be prudent than right. Don't bite the finger that fed you, Mr. I'm-teaching-the-big-guy-a-lesson-in-IP.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-06_01:30:30", "killed": false, "user_key": "janoulle", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662447": {"up_voted": false, "ip": "", "has_replies": false, "message": "Most of this thread just makes me sick.<br><br>I'd hire Mr. Niall Kennedy in an instant, if ever I was in the fortunate position to do so. I admire people who don't take sh*t from anyone and give it straight back.<br><br>I want to work with ballsy, hungry, driven, take-no-prisoners employees with a strong sense of ethics and integrity. People who don't give a damn about the \"optics\" of being a bastard at times, and who don't cry when they're criticized and who don't fake being \"nice\" when they're actually devious political back stabbers.<br><br>These are the kinds of people who build great things in their lives. Yes, they piss off a lot of people, but they don't screw people over, steal or lie. They don't smile politely and wink when their stock options are rigged in their favor. They say No.<br><br>The kind of person I'd never hire? Someone who actually thinks that being \"professional\" and never pissing people off is a ticket to success. Those people are sheep, and you can never trust them to tell it like it is because you never know whose feelings they don't want to hurt.<br><br>Clearly, I feel strongly about this and I am definitely not a corporation man.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-05_04:39:40", "killed": false, "user_key": "b65f1f36b37cf0949b52a1513add953e", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662448": {"up_voted": false, "ip": "", "has_replies": false, "message": "Niall,  Although the details don't make you sound as bad, I have to agree with Robert that it wasn't the best thing to do.<br><br>This is too tight a network of people to potentially burn bridges.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-04_20:31:15", "killed": false, "user_key": "tchussey", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662449": {"up_voted": false, "ip": "", "has_replies": false, "message": "PXLated: good point, but there are several reports of this on the Internet and the Seattle Post Intelligencer does fact checking before even publishing blogs.<br><br>The image that Niall used was the \"goatse\" one which was partially covered up. But that image is pornographic and the message it sends is FAR deeper than a simple 'please don't use my images' one.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-04_20:30:13", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662450": {"up_voted": false, "ip": "", "has_replies": false, "message": "\"Oh, and I received no IM or e-mail from Robert to check these facts either\"<br>Funny...didn't Robert just rail on something about this recently...about calling and checking facts or something?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-04_20:22:56", "killed": false, "user_key": "1966e5aab1490a53508d57831fddfe8d", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662451": {"up_voted": false, "ip": "", "has_replies": false, "message": "Yes, he should have done a DMCA takedown and spent a fortune on lawyers. Or he could have asked them to take it down and it would have gotten ignored in the tumult.<br><br>If it was a member of the public who linked, Niall might not have minded. But we're talking about a 1600 lb corporate gorilla which spends the GDP of some european countries forcing Digital Rights management down our throats, who has the money, who has the expertise and who should know better.<br><br>Embarrassed? Microsoft should be making a REAL effort to apologise and offer some sort of reconstitution and you, Robert, as a content creator should be demanding they do so on your own blog rather than defending your old boys network.<br><br>At the end of the day, not being hired for a job because he protected your own assets from a thief is probably not going to lose Niall any sleep. I wouldn't want to work for a company that condoned theft either.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-05_04:20:11", "killed": false, "user_key": "9d21912a45fa96b9bf1a1ff4e5600a3e", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662452": {"up_voted": false, "ip": "", "has_replies": false, "message": "Niall: Touche! It was in mainstream media, though, and I didn't see any fact refutation on your blog.<br><br>But, if you ever need to call someone at Microsoft, the phone number is 425-882-8080. Or, call Frank Shaw at Waggener Edstrom, who runs PR. He has a blog.<br><br>But, did you leave a comment on their blogs saying \"I have a PR problem and a legal problem for you that I need to get through to someone about?\"", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-04_20:22:06", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662453": {"up_voted": false, "ip": "", "has_replies": false, "message": "Scoble, you just took a whack at your own credibility. Your post was embarrassingly stupid.<br><br>EVERY IT pro knows that making a point to Microsoft regarding its security or operating practices takes the equivalent of a baseball bat to the head to get their attention.<br><br>Conversely, when given a choice between courteously getting ignored in a \"professional\" way by MS and cranking up one's public act to the point where MS can NOT ignore issues presented by an IT professional, professional responsibility dictates that one do what has to be done.<br><br>MS should be glad that the image they used without permission was edited, I would have been careful to make sure the CC license info did NOT interfere with viewers' full enjoyment of the image.<br><br>I presume that you're also one of those idiots who think that once one tells MS about a critical security vuln in their products, \"professional courtesy\" means that one should stay silent about it even if MS seems inclined to leave the hole unpatched forever.<br><br>You have no business commenting on IT-related issues or professional conduct in a public forum.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-13_18:33:35", "killed": false, "user_key": "75ce4ca39476fa5116a30611a4a19687", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662454": {"up_voted": false, "ip": "", "has_replies": false, "message": "Oh, and I received no IM or e-mail from Robert to check these facts either.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-04_20:17:05", "killed": false, "user_key": "053f44a14d96704ad6e22556eb4fa520", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662455": {"up_voted": false, "ip": "", "has_replies": false, "message": "Diego: if it were me, I'd just send an email to Dean Hachamovitch. Niall should know his email address, or be able to find it.<br><br>If they didn't pull it down (or pay a licensing fee) then I might try something smart.<br><br>But he sure did miss a good opportunity to really have some fun.<br><br>Imagine if he put a \"Firefox is a better browser than IE\" message on it?<br><br>I mean, if you're gonna blow up the bridge, at least do it in style!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-04_20:17:10", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662456": {"up_voted": false, "ip": "", "has_replies": false, "message": "Actually Microsoft servers have been sending e-mails from my domain to the Junk Mail folder for some time now. I had a few options, and posted a big Creative Commons logo on an image. Nothing pornographic was shown in the picture, just a guy's back with a big CC logo covering his rear.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-04_20:16:33", "killed": false, "user_key": "053f44a14d96704ad6e22556eb4fa520", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662457": {"up_voted": false, "ip": "", "has_replies": false, "message": "Does the fact that the image was replaced with a pornographic one make it worse? What if he had replaced it with some text that say, I don't know... Microsoft are thieves! or anything other than porn. Would it make a difference? Maybe the porn makes it seem worse (seedy) and garners more of a reaction from people.<br><br>But in general I agree with you Robert. He could have simply mentioned in his blog that they used an image of his without regard for the licensing of that image. That would have been enough negative press against Microsoft and Niall gotten his point across without seeming vindictive.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-04_20:10:34", "killed": false, "user_key": "df679bd3d287a21d5ed6020bae384e17", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662458": {"up_voted": false, "ip": "", "has_replies": false, "message": "Ben: yes. Most people will find that being professional serves them long term better than being a jerk.<br><br>And, what you do IN PUBLIC to former employers (or future ones), does define professionalism for many of us.<br><br>Thanks to Google it all sticks around.<br><br>So, if you don't want your unprofessionalism to be considered when you need a job (and not all of us are in the boat where we never need to worry about that) then keep it off the Internet and out of Google.<br><br>Now, being \"unprofessional\" for some of us means more work. Just see <a href=\"http://www.gapingvoid.com\" rel=\"nofollow\">http://www.gapingvoid.com</a> for examples of such.<br><br>But, word does get around when you're a jerk to other people and it does make your professional life harder.<br><br>And I know you know what I'm talking about, Ben. :-)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-04_20:00:47", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662459": {"up_voted": false, "ip": "", "has_replies": false, "message": "Oh boo hoo for Microsoft.  Someone described what Niall  has done as 'unprofessional'...<br><br>...yeah so what?  It's not like Niall was working for them in a 'professional' capacity at the time.  Do we have to be 'professional' and on our best behaviour *all* the time?<br><br>Sure you might be 'burning bridges' by exercising that choice to be unprofessional, but equally I'd to think that people would hire/not hire me based on my work not on what I choose to do in my spare time and on my personal blog.<br><br>Sure these issues, and that aspiration, are nothing new - but I does frustrate me that people feel the need to keep their *entire life* 'squeeky clean' in order not to fuck up their potential career.<br><br>We're human beings, and a bit of out-of-work mischeif doesn't make me any less capable of doing a given job.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-04_19:52:14", "killed": false, "user_key": "e855c3f0141310d1005c3b89af2c1c7f", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662460": {"up_voted": false, "ip": "", "has_replies": false, "message": "Simon: that is probably true. But, I'd recommend not playing roulette with your career this way. I remember when there simply were no jobs to be had (back in 2002/2003). Maryam was out of work for 18 months back then.<br><br>So, you want to reduce the chances you'll be hired by even 10%? Go for it. Doesn't sound like smart career management to me, though, particularly in this world where the word-of-mouth network is hyper efficient and where EVERYTHING you do can be called up on Google.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-05_03:16:09", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9662461": {"up_voted": false, "ip": "", "has_replies": false, "message": "i guess niall has a wicked sense of humor or a bad temper.  not sure which one.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-03-30_21:20:25", "killed": false, "user_key": "f85bd2fff437e475f854038802f70fee", "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}, "9662462": {"up_voted": false, "ip": "", "has_replies": false, "message": "\"Burn bridges if you want, but I\u2019ve learned over and over that people remember this kind of treatment and it certainly never disappears from Google.\"  For every manager/interviewer that might balk at this, I think there'll be 10 who'll pat him on the back.<br><br>This reminds me of an interview I had with Amazon in 1998.  The interview with blazingly well with the engineers I spoke to.  Things looked great right up until I met with the VP of engineering, a recent hire from Microsoft.<br><br>He took one look at the Apple Newton 2100 in my hands and said, \"I don't care what I'm being told about you.  I think your choice of PDA tells me all I need to determine that you won't be working here.\"<br><br>I don't feel bad about that interview.  That attitude told me all I needed to knwo about working for Amazon, especially while that guy was VP of engineering.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-03-27_17:40:35", "killed": false, "user_key": "97424546a8c3336d91511048412f522d", "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}, "9662463": {"up_voted": false, "ip": "", "has_replies": false, "message": "I don't find the use of pornographic images agreeable in any way but I do find it interesting how you give MS a break when they broke copyright law. How does Ms treat people that break their copyright? Do they give people _any_ breaks? You mention the little guy working in MS and having pity for him. How about the little guy that owns a small business? Does he get a break from MS? Sorry, I don't have any pity on MS at all. Again, porn wouldn't have been my choice but I would have used an image of my own with some copy to bring their attention for sure.<br><br>AEM", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-03-27_15:10:16", "killed": false, "user_key": "67d3880bbfaafdb2a2108b7c9a64df47", "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}}, "integration": {"receiver_url": "", "theme": 4, "reply_position": true, "disqus_logo": false}, "timer": {"timer_url": "http://localhost:8005", "thread_id": "18357666", "user_id": "anonymous", "forum_id": "125200", "hash": 8467081218342589327}, "thread": {"total_posts": 0, "paginate": false, "per_page": 0, "slug": "niall_sends_microsoft_team_a_porn_message", "num_pages": 1, "days_alive": 0, "realtime_paused": true, "id": 18357666, "num_posts": 108, "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=niall_sends_microsoft_team_a_porn_message' +
		'&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/niall_sends_microsoft_team_a_porn_message/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='	+ 'niall_sends_microsoft_team_a_porn_message'
			+ '&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/niall_sends_microsoft_team_a_porn_message/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">108</span> Comments\
	 &nbsp;\
	 <span class="dsq-item-feed">\
	 <a href="http://scobleizer.disqus.com/niall_sends_microsoft_team_a_porn_message/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/niall_sends_microsoft_team_a_porn_message/">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/niall_sends_microsoft_team_a_porn_message/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:18357666" 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'				: 'niall_sends_microsoft_team_a_porn_message',
			// 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/niall_sends_microsoft_team_a_porn_message/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='	+ 'niall_sends_microsoft_team_a_porn_message'
			+ '&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='	+ 'niall_sends_microsoft_team_a_porn_message'
			+ '&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='		+ 'niall_sends_microsoft_team_a_porn_message'
				+ '&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/18357666/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-9662413">\
	 <div id="dsq-comment-header-9662413" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662413" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9662413" href="http://sleepyblogger.com/" target="_blank" rel="nofollow">Robyn Tippins</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662413" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662413" class="dsq-comment-message">I\'m in agreement here. Seems rather cruel.  I mean that doesn\'t really hurt MS the entity, but the poor guy who made the error.  And, it\'s not like it\'s not an easy error to make as blogs FEEL personal and non-commercial, even when that\'s not the case.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662411">\
	 <div id="dsq-comment-header-9662411" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662411" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9662411" href="http://www.visnum.com/" target="_blank" rel="nofollow">Osman S Borutecene</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662411" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662411" class="dsq-comment-message">I just think that it doesn\'t really hurt the MS fame about having a little disrespect for what is open(as in free speech).</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662410">\
	 <div id="dsq-comment-header-9662410" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662410" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9662410" href="http://scobleizer.wordpress.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662410" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662410" class="dsq-comment-message">Osman: well, if Niall wasn\'t a Microsoft employee I might have agreed. But, now all a potential hiring manager will see is conduct after leaving, which will raise all sorts of red flags.<br><br>I don\'t get what being nice and professional has to do with free speech anyway. This wasn\'t a free speech issue. It was an intellectual property control issue. Easily taken care of, if you want, with a single email to the right guy.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662459">\
	 <div id="dsq-comment-header-9662459" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662459" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9662459" href="http://benmetcalfe.com/blog/" target="_blank" rel="nofollow">Ben Metcalfe</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662459" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662459" class="dsq-comment-message">Oh boo hoo for Microsoft.  Someone described what Niall  has done as \'unprofessional\'...<br><br>...yeah so what?  It\'s not like Niall was working for them in a \'professional\' capacity at the time.  Do we have to be \'professional\' and on our best behaviour *all* the time?<br><br>Sure you might be \'burning bridges\' by exercising that choice to be unprofessional, but equally I\'d to think that people would hire/not hire me based on my work not on what I choose to do in my spare time and on my personal blog.<br><br>Sure these issues, and that aspiration, are nothing new - but I does frustrate me that people feel the need to keep their *entire life* \'squeeky clean\' in order not to fuck up their potential career.<br><br>We\'re human beings, and a bit of out-of-work mischeif doesn\'t make me any less capable of doing a given job.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662458">\
	 <div id="dsq-comment-header-9662458" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662458" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9662458" href="http://scobleizer.wordpress.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662458" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662458" class="dsq-comment-message">Ben: yes. Most people will find that being professional serves them long term better than being a jerk.<br><br>And, what you do IN PUBLIC to former employers (or future ones), does define professionalism for many of us.<br><br>Thanks to Google it all sticks around.<br><br>So, if you don\'t want your unprofessionalism to be considered when you need a job (and not all of us are in the boat where we never need to worry about that) then keep it off the Internet and out of Google.<br><br>Now, being "unprofessional" for some of us means more work. Just see <a href="http://www.gapingvoid.com" rel="nofollow">http://www.gapingvoid.com</a> for examples of such.<br><br>But, word does get around when you\'re a jerk to other people and it does make your professional life harder.<br><br>And I know you know what I\'m talking about, Ben. :-)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662457">\
	 <div id="dsq-comment-header-9662457" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662457" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9662457">Diego</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662457" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662457" class="dsq-comment-message">Does the fact that the image was replaced with a pornographic one make it worse? What if he had replaced it with some text that say, I don\'t know... Microsoft are thieves! or anything other than porn. Would it make a difference? Maybe the porn makes it seem worse (seedy) and garners more of a reaction from people.<br><br>But in general I agree with you Robert. He could have simply mentioned in his blog that they used an image of his without regard for the licensing of that image. That would have been enough negative press against Microsoft and Niall gotten his point across without seeming vindictive.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662456">\
	 <div id="dsq-comment-header-9662456" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662456" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9662456" href="http://www.niallkennedy.com/" target="_blank" rel="nofollow">Niall Kennedy</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662456" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662456" class="dsq-comment-message">Actually Microsoft servers have been sending e-mails from my domain to the Junk Mail folder for some time now. I had a few options, and posted a big Creative Commons logo on an image. Nothing pornographic was shown in the picture, just a guy\'s back with a big CC logo covering his rear.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662454">\
	 <div id="dsq-comment-header-9662454" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662454" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9662454" href="http://www.niallkennedy.com/" target="_blank" rel="nofollow">Niall Kennedy</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662454" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662454" class="dsq-comment-message">Oh, and I received no IM or e-mail from Robert to check these facts either.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662455">\
	 <div id="dsq-comment-header-9662455" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662455" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9662455" href="http://scobleizer.wordpress.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662455" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662455" class="dsq-comment-message">Diego: if it were me, I\'d just send an email to Dean Hachamovitch. Niall should know his email address, or be able to find it.<br><br>If they didn\'t pull it down (or pay a licensing fee) then I might try something smart.<br><br>But he sure did miss a good opportunity to really have some fun.<br><br>Imagine if he put a "Firefox is a better browser than IE" message on it?<br><br>I mean, if you\'re gonna blow up the bridge, at least do it in style!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662452">\
	 <div id="dsq-comment-header-9662452" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662452" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9662452" href="http://scobleizer.wordpress.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662452" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662452" class="dsq-comment-message">Niall: Touche! It was in mainstream media, though, and I didn\'t see any fact refutation on your blog.<br><br>But, if you ever need to call someone at Microsoft, the phone number is 425-882-8080. Or, call Frank Shaw at Waggener Edstrom, who runs PR. He has a blog.<br><br>But, did you leave a comment on their blogs saying "I have a PR problem and a legal problem for you that I need to get through to someone about?"</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662450">\
	 <div id="dsq-comment-header-9662450" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662450" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9662450" href="http://www.geise.com/" target="_blank" rel="nofollow">PXLated</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662450" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662450" class="dsq-comment-message">"Oh, and I received no IM or e-mail from Robert to check these facts either"<br>Funny...didn\'t Robert just rail on something about this recently...about calling and checking facts or something?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662449">\
	 <div id="dsq-comment-header-9662449" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662449" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9662449" href="http://scobleizer.wordpress.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662449" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662449" class="dsq-comment-message">PXLated: good point, but there are several reports of this on the Internet and the Seattle Post Intelligencer does fact checking before even publishing blogs.<br><br>The image that Niall used was the "goatse" one which was partially covered up. But that image is pornographic and the message it sends is FAR deeper than a simple \'please don\'t use my images\' one.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662448">\
	 <div id="dsq-comment-header-9662448" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662448" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9662448" href="http://trishussey.com" target="_blank" rel="nofollow">Tris Hussey</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662448" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662448" class="dsq-comment-message">Niall,  Although the details don\'t make you sound as bad, I have to agree with Robert that it wasn\'t the best thing to do.<br><br>This is too tight a network of people to potentially burn bridges.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662445">\
	 <div id="dsq-comment-header-9662445" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662445" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9662445">Custa</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662445" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662445" class="dsq-comment-message">I say good on him for doing it. I\'m sure Microsoft does not contact people personally if they are using a non validated version of Windows (breaking the licensing agreement) so why is it so wrong for a guy to defend his images that are being used in contradiction to the licensing agreement with similar tactics as WGA?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662443">\
	 <div id="dsq-comment-header-9662443" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662443" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9662443" href="http://shakewellbeforeuse.com/" target="_blank" rel="nofollow">ariel</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662443" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662443" class="dsq-comment-message">Scoble, I use this technique all the time.  Typically my personal codes of conduct are that I warn them once, and if the image is still not given credit or taken down, then I replace it with a porn image.  I was about to do it to one blogger last month but then realized that more than 1 person had linked to that image so I was just left to piss and moan over a douchebag who stole my photography.<br><br>Unprofessional or not, if you\'re not getting a paycheck from them, then fuck it, they should know better (but I still believe in giving a warning first).  As for burning bridges, perhaps... but I imagine Microsoft burned down their bridge with Niall before he made sure to blow up any remaining pieces.  Perhaps some ex-Microsofties might be offended and never want to talk to Niall, but I imagine most are giggling on the inside.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662441">\
	 <div id="dsq-comment-header-9662441" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662441" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9662441" href="http://scobleizer.wordpress.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662441" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662441" class="dsq-comment-message">Ariel: well, if you\'re right, this issue will never come up again. If you\'re wrong, though, we\'ll never hear about the jobs that Niall doesn\'t get offered.<br><br>I\'ve already seen people lose opportunities for far less than this, so I\'d rather be on the safe side of this line.<br><br>In either case, the team says that they never heard from him. Usually Microsoft lawyers are pretty good about getting back on stuff like this because they want to avoid lawsuits and PR stains, if possible.<br><br>But, do what you want in public. It\'s your life, not mine.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662440">\
	 <div id="dsq-comment-header-9662440" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662440" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9662440" href="http://tailrank.com/" target="_blank" rel="nofollow">Kevin Burton</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662440" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662440" class="dsq-comment-message">I totally think that in hindsight a Firefox logo would have been funnier/cooler...<br><br>Also...<br><br>"But, did you leave a comment on their blogs saying \'I have a PR problem and a legal problem for you that I need to get through to someone about?\'"<br><br>Huh?  There\'s no way you would get a serious response.<br><br>I\'m actually curious about though.  In about a month after this thing has blown over I\'m going to pick a random MS blog and post that comment and see what happens.<br><br>Would be an interesting experiment to see if MS legal reviews their own blogs.<br><br>One problem is figuring out who to even call. If Niall wanted to receive compensation for the use of his image it would have taken months.<br><br>Now of course he could have done a DMCA takedown.  That would have been interesting.<br><br>The point I\'m trying to make is that if MS\'s IP were "stolen" they would have been on you in a second but when the reverse is true it\'s David vs. Goliath and a bit harder to seek justice.<br><br>Good thing I don\'t take many pictures of MS employees. :)<br><br>Kevin</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662439">\
	 <div id="dsq-comment-header-9662439" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662439" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9662439" href="http://tailrank.com/" target="_blank" rel="nofollow">Kevin Burton</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662439" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662439" class="dsq-comment-message">Also..... link baiting by controversy. :)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662438">\
	 <div id="dsq-comment-header-9662438" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662438" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9662438" href="http://shakewellbeforeuse.com/" target="_blank" rel="nofollow">ariel</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662438" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662438" class="dsq-comment-message">"But, do what you want in public. It’s your life, not mine."<br><br>Oh, I completely agree on your side there... hence, I would\'ve given Microsoft a warning before pulling something like that.  And even then, I\'d probably want to file a lawsuit before doing the porn-switcharu.  Porn-switcharus should be left for MySpace hipsters who steal your images.  More humorous that way.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662436">\
	 <div id="dsq-comment-header-9662436" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662436" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9662436" href="http://www.niallkennedy.com/" target="_blank" rel="nofollow">Niall Kennedy</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662436" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662436" class="dsq-comment-message">Robert, want to review your facts at all?<br><br>I contacted Sean Lyndersay, the author of the post, this morning telling him he might want to swap out the image and let him know each of both the &lt;acronym title="Creative Commons"&gt;CC&lt;/acronym&gt; violation and the Flickr ToS violation. After the image was removed from the Microsoft blog I swapped <a href="http://flickr.com/photos/niallkennedy/21325859/" title="Dean Hachamovitch talking about RSS" rel="nofollow">the original photo</a> back in. Sean replied to my e-mail with his own interpretation of non-commercial.<br><br>I\'ll be seeing Dean next week.<br><br>Seriously, do you have any questions you\'d like to ask directly? I post a link to <a href="http://www.niallkennedy.com/about/contact.html" title="Contact Niall Kennedy" rel="nofollow">my contact info</a> on every post. Feel free to ask questions.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662435">\
	 <div id="dsq-comment-header-9662435" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662435" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9662435" href="http://ericrice.com/" target="_blank" rel="nofollow">Eric Rice</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662435" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662435" class="dsq-comment-message">Heh, well it certainly raises the awareness of respecting licensing, eh? It was sophomoric, effective, and funny. Got the press, too.<br><br>Tomorrow will be a new thing.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662432">\
	 <div id="dsq-comment-header-9662432" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662432" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9662432" href="http://www.transparentagenda.com/" target="_blank" rel="nofollow">Greg Furry</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662432" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662432" class="dsq-comment-message">You have got to be kidding me. Microsoft illegally uses one of Niall\'s photos and you are calling him unprofessional!? Come on admit it. It was funny! Any company that wouldn\'t hire me for doing something like that isn\'t worth working for or with for that matter. We are wasting perfectly good pixels here folks.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662431">\
	 <div id="dsq-comment-header-9662431" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662431" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9662431">Bob Jones</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662431" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662431" class="dsq-comment-message">Microsoft, attempting to steal something? That\'s a new one for sure.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662430">\
	 <div id="dsq-comment-header-9662430" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662430" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9662430">Diego</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662430" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662430" class="dsq-comment-message">Maybe he should have replaced it with a photo of Britney Spears... um, on second thoughts, that would certainly be considered porn. :)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662429">\
	 <div id="dsq-comment-header-9662429" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662429" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9662429" href="http://torley.com/" target="_blank" rel="nofollow">Torley</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662429" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662429" class="dsq-comment-message">Right now, I\'m wondering if someone\'s started a website with these "porn pictures used to replace images on Flickr used without proper licensing", because it sounds like a natural niche.<br><br>But what strikes me queerest (in the strange, not gay) sense is that Flickr isn\'t for pornographic images.<br><br>I like Thomas Hawk\'s take on it:<br><br><a href="http://thomashawk.com/2005/05/flickr-and-porn.html" rel="nofollow">http://thomashawk.com/2005/05/flickr-and-porn.html</a><br><br>Me tho, I wouldn\'t have done pr0n... I would\'ve done something more chic, like an "alternate history" image. Like say if someone copped a photo of trees I took, I\'d change the type of trees, or maybe the season, or put birds on them.<br><br>All sorts of avenues for creativity.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662428">\
	 <div id="dsq-comment-header-9662428" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662428" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9662428">Dawn</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662428" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662428" class="dsq-comment-message">I\'m 47 years old, have an MBA and know lots of hiring managers.  100% of them google prospective employees names, read their blogs, read their MySpace pages, read what others have written about them.  I hear what what are called "horror stories" all the time.  It\'s easy to present yourself well on a resume and in a cover letter, which many people don\'t even write themselves.  Employers want to know the real you, and a LARGE number of potential employers are turning hiring managers off big-time, esp. the 20-somethings.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662427">\
	 <div id="dsq-comment-header-9662427" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662427" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9662427" href="http://www.makeyougohmm.com/" target="_blank" rel="nofollow">TDavid</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662427" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662427" class="dsq-comment-message">Niall - tried to follow your contact link and received:<br><br>"precondition failed"<br><br>Strangely enough when followed from your about page at the root it worked.<br><br>So I\'ll leave this comment here before trying you on Skype.<br><br>After reading through your comments, Niall, I\'m not sure what the order is here. Did you contact Sean after you swapped out the image with porn or before?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662426">\
	 <div id="dsq-comment-header-9662426" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662426" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9662426" href="http://www.makeyougohmm.com/" target="_blank" rel="nofollow">TDavid</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662426" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662426" class="dsq-comment-message">Interesting perspective, Dawn. An anon commenter on Todd\'s Seattle PI piece said something similar (though a lot less nicely).<br><br>I wonder if they are making their hiring decisions off the dumb moves 20-somethings are making on the web they are going to have a hard time finding people to hire. Especially if they can track down all these people\'s aliases.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662425">\
	 <div id="dsq-comment-header-9662425" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662425" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9662425">Diego</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662425" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662425" class="dsq-comment-message">I guess the 20-somethings are just a lot more visible now. Those 40/50-somethings just can\'t be Googled and have their drug taking, protesting, free lovin\' days show up in the results. :)<br><br>As TDavid said, would that mean great people are being overlooked for stupid things they do? Look at that president that didn\'t inhale. Would he be overlooked for an IT job just for that?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662424">\
	 <div id="dsq-comment-header-9662424" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662424" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9662424" href="http://evelynrodriguez.typepad.com/" target="_blank" rel="nofollow">Evelyn Rodriguez</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662424" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662424" class="dsq-comment-message">Sounds like two wrongs do not make a right.<br><br>I see folks use images and writing on sites without attribution all the time. Could say that\'s unprofessionnal. Yet the solution need not be vindictive (I\'m with Diego).<br><br>Typically all I need to do is email the folks using the content and remind them to use proper attribution.<br><br>Like Ben, I too bristle at the word "professional" because it often connotes conformity and silencing our  self.<br><br>Play nice in the sandbox, and it is a small world seems like the gist of Robert\'s post...and I agree.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662423">\
	 <div id="dsq-comment-header-9662423" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662423" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9662423" href="http://evelynrodriguez.typepad.com/" target="_blank" rel="nofollow">Evelyn Rodriguez</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662423" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662423" class="dsq-comment-message">He he Diego are you implying 40-somethings aren\'t taking drugs, protesting, and free lovin\'? Sure, I have a friend that lost a client when they found their Burning Man pics. Yet it was their loss, he is in all respects of high integrity and very smart.<br><br>That\'s a completely different issue than revenge for having your stuff non-credited.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662421">\
	 <div id="dsq-comment-header-9662421" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662421" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9662421">Diego</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662421" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662421" class="dsq-comment-message">Evelyn, no I wasn\'t implying that. :) I guess I was more referring to some that may have done so in their 20s but not, in their 40s are not, and therefore do not show up on Google.<br><br>Didn\'t mean to put all 40+ people in the same bucket. Sorry :)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662420">\
	 <div id="dsq-comment-header-9662420" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662420" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9662420" href="http://www.howtogirl.com/" target="_blank" rel="nofollow">Eric</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662420" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662420" class="dsq-comment-message">Hmmm... Let\'s see, a big company, either be accident or intention (doesn\'t really matter), that lobbies for laws protecting intellectual property, spends millions of dollars devising ways to thwart piracy, and bends over backwards to stymie fair use of content on it\'s newest gadget, uses someone else\'s work without attribution or compensation, and when they\'re called publicly called on it, the victim is considered "unprofessional?" Sounds like a few too many people have sipped the corporate Kool-Ade™ around here.<br><br>As someone who has had work stolen myself, I feel Microsoft should be bending over backwards to placate Niall Kennedy. After all, it was *his* rights that were violated, not Microsoft\'s! Try to remember that, okay?<br><br>Eric</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662417">\
	 <div id="dsq-comment-header-9662417" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662417" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9662417" href="http://www.makeyougohmm.com/" target="_blank" rel="nofollow">TDavid</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662417" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662417" class="dsq-comment-message">Eric - I think what you have is the actions of "one" blogger, not Microsoft the company. Too often I think Microsoft the company is lumped in the actions of a small number of people (or single person).<br><br>Niall should know better how this stuff works since he actually worked there. Microsoft has tens of thousands of employees and the actions of one on an official blog shouldn\'t be compeletely representative of the company as a whole.<br><br>Yes, I realize employees are representing the company, but it wasn\'t a post about how to steal images on Flickr from Niall Kennedy. If that was the case, then get the torches, otherwise, what we have here is fail to communicate.<br><br>I doubt seriously anybody at Microsoft would advocate, support or encourage unauthorized hotlinking.<br><br>I\'m sure that internally some fur flew over this incident.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662416">\
	 <div id="dsq-comment-header-9662416" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662416" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9662416" href="http://www.makeyougohmm.com/" target="_blank" rel="nofollow">TDavid</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662416" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662416" class="dsq-comment-message">Now if we\'re talking about some splogger from China or Russia, I\'m all for teaching them a lesson Niall-style.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662415">\
	 <div id="dsq-comment-header-9662415" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662415" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9662415">Diego</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662415" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662415" class="dsq-comment-message">The beginning of a new term? You got Nialled! :)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662414">\
	 <div id="dsq-comment-header-9662414" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662414" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9662414" href="http://www.howtogirl.com/" target="_blank" rel="nofollow">Eric</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662414" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662414" class="dsq-comment-message">TDavid,<br><br>Respectfully, your response contains the crux of the matter, though you overlook it:<br><br>"Niall should know better how this stuff works since he actually worked there. Microsoft has tens of thousands of employees and the actions of one on an *official* blog shouldn’t be compeletely representative of the company as a whole."<br><br>Yes, it was an individual employee that did this. Yet it was an individual on Microsoft\'s time, posting on Microsoft\'s blog that made the mistake. Therefore, it *was* Microsoft that is responsible for the error. As you said, it was posted on one of Microsoft\'s "official" blogs.<br><br>If we are to hold employees (or ex-employees) of companies professionally and personally responsible for what they say on their *personal* blogs, then companies should expect to be held to the same standards on their *corporate* blogs. If it\'s wrong for John Q Public to do, then so it is wrong for Company X to do -- whether or not it was an accident (which it most likely was).<br><br>Eric</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662407">\
	 <div id="dsq-comment-header-9662407" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662407" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9662407" href="http://www.anotherblogger.com/" target="_blank" rel="nofollow">Aaron B. Hockley</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662407" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662407" class="dsq-comment-message">I had something similar happen to me where someone was stealing my bandwidth via hotlinking an image.<br><br>Instead of porn, I simply replaced the image with a graphic with the words "Stop stealing my pictures".<br><br>Things were resolved in a matter of minutes...</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662408">\
	 <div id="dsq-comment-header-9662408" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662408" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9662408" href="http://markjaquith.com/" target="_blank" rel="nofollow">Mark Jaquith</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662408" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662408" class="dsq-comment-message">I\'m a fan of making the hot-linker feel shamed, rather than scandalized.  A frowny-face and "When you ignore image licenses, God kills a kitten" sort of thing.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662403">\
	 <div id="dsq-comment-header-9662403" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662403" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9662403">blogger@wordpress</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662403" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662403" class="dsq-comment-message">Frankly its silly. But its not at all surprising considering the fact that Niall was vitriolic about MSFT when he quit. He wasnt gonna miss out an opportunity like this. Look at his comment at #7. He says his mails are going to junk mail folder and so he didnt bother mailing. I dont know what he is implying here.<br><br>Besides, I dont understand how this would amount to stealing. It wasnt even used commercially.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662395">\
	 <div id="dsq-comment-header-9662395" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662395" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9662395" href="http://scobleizer.wordpress.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662395" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662395" class="dsq-comment-message">Niall: thanks for giving me more info. So you just told him this morning? Wow, that\'s giving the team enough time to react. You know that everything inside Microsoft takes longer than a morning to get done.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662396">\
	 <div id="dsq-comment-header-9662396" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662396" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9662396">The Real Story</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662396" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662396" class="dsq-comment-message">Remember, copyright violation is THEFT. We\'re told so over and over again by the mainstream media. So the real story here is:<br><br>Microsoft is a thief.<br><br>Microsoft steals.<br><br>And then Microsoft\'s cronies blame the victim of their theft.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662394">\
	 <div id="dsq-comment-header-9662394" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662394" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9662394" href="http://www.psynixis.com/blog/" target="_blank" rel="nofollow">Simon Brocklehurst</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662394" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662394" class="dsq-comment-message">I think it\'s a mistake to think that all people will have the same reaction to what this guy did.<br><br>Sure, some people will think - "Oh, that\'s really unprofessional, I would never hire this guy".<br><br>However, others will just think, "He was within his rights to post whatever pictures he wants on his Flickr feed.  And if he wants to have a little fun with that, good for him."<br><br>The truth is: this kind of thing can work both ways...</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662460">\
	 <div id="dsq-comment-header-9662460" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662460" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9662460" href="http://scobleizer.wordpress.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662460" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662460" class="dsq-comment-message">Simon: that is probably true. But, I\'d recommend not playing roulette with your career this way. I remember when there simply were no jobs to be had (back in 2002/2003). Maryam was out of work for 18 months back then.<br><br>So, you want to reduce the chances you\'ll be hired by even 10%? Go for it. Doesn\'t sound like smart career management to me, though, particularly in this world where the word-of-mouth network is hyper efficient and where EVERYTHING you do can be called up on Google.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662451">\
	 <div id="dsq-comment-header-9662451" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662451" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9662451" href="http://www.infurious.com/blog/" target="_blank" rel="nofollow">mj</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662451" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662451" class="dsq-comment-message">Yes, he should have done a DMCA takedown and spent a fortune on lawyers. Or he could have asked them to take it down and it would have gotten ignored in the tumult.<br><br>If it was a member of the public who linked, Niall might not have minded. But we\'re talking about a 1600 lb corporate gorilla which spends the GDP of some european countries forcing Digital Rights management down our throats, who has the money, who has the expertise and who should know better.<br><br>Embarrassed? Microsoft should be making a REAL effort to apologise and offer some sort of reconstitution and you, Robert, as a content creator should be demanding they do so on your own blog rather than defending your old boys network.<br><br>At the end of the day, not being hired for a job because he protected your own assets from a thief is probably not going to lose Niall any sleep. I wouldn\'t want to work for a company that condoned theft either.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662447">\
	 <div id="dsq-comment-header-9662447" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662447" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9662447" href="http://www.irwebreport.com/daily" target="_blank" rel="nofollow">Dominic Jones</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662447" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662447" class="dsq-comment-message">Most of this thread just makes me sick.<br><br>I\'d hire Mr. Niall Kennedy in an instant, if ever I was in the fortunate position to do so. I admire people who don\'t take sh*t from anyone and give it straight back.<br><br>I want to work with ballsy, hungry, driven, take-no-prisoners employees with a strong sense of ethics and integrity. People who don\'t give a damn about the "optics" of being a bastard at times, and who don\'t cry when they\'re criticized and who don\'t fake being "nice" when they\'re actually devious political back stabbers.<br><br>These are the kinds of people who build great things in their lives. Yes, they piss off a lot of people, but they don\'t screw people over, steal or lie. They don\'t smile politely and wink when their stock options are rigged in their favor. They say No.<br><br>The kind of person I\'d never hire? Someone who actually thinks that being "professional" and never pissing people off is a ticket to success. Those people are sheep, and you can never trust them to tell it like it is because you never know whose feelings they don\'t want to hurt.<br><br>Clearly, I feel strongly about this and I am definitely not a corporation man.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662437">\
	 <div id="dsq-comment-header-9662437" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662437" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9662437">jbarry315</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662437" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662437" class="dsq-comment-message">Forgive the naive for interrupting; but, IMHO, it appears that a sour taste was left in the mouths of those caught siphoning someone else\'s brew who caught them at it, and spiked the barrel.  It seems that there would have been no noise generated at all if the initial siphon had never been implemented---  What was in the barrel could have changed at any time without notice.  Yet now, when the result of the siphoning is a little less sweet, the complaint is against the owner of the barrel.  If the "porn" had been directly posted by Mr. Kennedy himself on the blog, the issue would have been something different than what it is.  He only changed what was rightfully under his own control, and let the pirates continue to take--- to their own undoing...  At least, that\'s what I am led to understand through what\'s come out.  The impropriety under review should not have him as a focus at all; rather, the image taken served to illustrate in "pictures" an ill-advised effort by those caught with the goods.  It would appear that someone is complaining about something they took not being what they thought they were getting; and this, in public...</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662434">\
	 <div id="dsq-comment-header-9662434" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662434" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9662434">Sam Spade</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662434" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662434" class="dsq-comment-message">Inline linking aka hotlinking aka bandwidth theft is a regular, and growing, problem:<br><a href="http://en.wikipedia.org/wiki/Inline_linking" rel="nofollow">http://en.wikipedia.org/wiki/Inline_linking</a><br><br>If somebody links to one of my images, hosted on my server, where I pay for the bandwidth, then I will brand that graphic with great big letters that say "DO NOT STEAL BANDWIDTH" or "THIS IMAGE IS THE PROPERTY OF..."  That is the risk that bandwidth thieves take when they link to graphics in such a way, and they only have themselves to blame.<br><br>If the blog author did not realise that inline linking without permission is unethical and costs their victim money, then this fact reveals a lack of education on the part of Microsoft that should be addressed.  Microsoft can well afford to host their own images and should have a policy in place that bans inline linking to graphics that are not hosted on their server, and for which they do not pay the bandwidth costs.  They should also ensure that their bloggers are not impeding on the rights of others.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662412">\
	 <div id="dsq-comment-header-9662412" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662412" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9662412" href="http://salubri.journals.ie/" target="_blank" rel="nofollow">Salubri</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662412" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662412" class="dsq-comment-message">I think people are missing the point here.<br><br>I don\'t think Robert (in his original post long ago and waaaay up there at the top) is saying that Microsoft did not do something wrong... I think he is saying that Niall was being unprofssional in his response and that he was burning bridges that he might "need to cross in the future".<br><br>Now - we can see two things from this post and its responses:<br>1) Lots of people have different standards and personal codes as to what is acceptable / professional behaviour and what is not. I personally think it was a prank, a bit childish but not really harmful to Microsoft - more damaging really to the person who linked the image in the MS blog... not the way to behave _if_ you want to work in the corporate IT sector today. Employers in major (and many minor) companies _do_ google employees and they _do_ check other sources to see if they can guage a person\'s personality and behavioural patterns. If I were a prospective employer I wouldn\'t be so worried that Niall played a prank on someone stealing his bandwidth - I\'d be concerned that he has no respect for a former employer. If you can fall out with one employer (and let it blow up publically in any way) you can fall out with the next just as easily... Therefore you are a permanent risk!<br><br>2) Robert Scoble\'s post from the other day <a href="http://scobleizer.com/2006/11/28/uk-press-complaints-commissioner-no-means-of-redress/" rel="nofollow">http://scobleizer.com/2006/11/28/uk-press-compl...</a> has been proven correct. Scoble did not do his research as thoroughly was he would have to if he were a journalist (if your facts come from other mainstream media and you are not going to check them thoroughly you don\'t just cite them you make clear at each point that "if [such and such a source] is correct] then he behaved childishly" or "So, what did Niall do? Did he call up one of his former co-workers at Microsoft and explain that he was pissed and get the problem taken care of nicely and behind closed doors? [According to such and such a source] No.") However if a blogger does not do this then the person being discussed on the blog (Niall Kennedy in this case) can reply and make his case clearer... Hence, if one day, someone googles Niall Kennedy and sees from Scoble\'s blog that he did X, Y and Z - they also see that he responded and clarified the situation.<br><br>Now my big question for Niall would be: if Robert Scoble quoted media sources that have got the facts wrong, what is he doing to get those facts amended in the mainstream media where they will do just as much (if not more) harm to his career?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662404">\
	 <div id="dsq-comment-header-9662404" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662404" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9662404" href="http://www.makeyougohmm.com/" target="_blank" rel="nofollow">TDavid</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662404" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662404" class="dsq-comment-message">Sam - I responded to your comment on my blog too. I\'m surprised anybody needs to defend Microsoft --- common sense management 101 here yes/no? -- on the actions of one employee. Have any of you flaming Microsoft over this ever been a manager or owner of a company with employees and had one of your employees do something stupid?<br><br>This isn\'t drinking company Kool-aid, it\'s the reality of being a manager and/or owner of a company with employees. Managing people means people make mistakes and managing those mistakes. Was this done by the employee with malice? It seems to me from the facts we all have, this wasn\'t done maliciously and the image has been removed. Yes, the employee should have known better, yadda, yadda.<br><br>Employees making mistakes has happened to me many times and I\'m sure it happens at Microsoft routinely. It happens from time to time in any company, regardless of posted, well known policies and procedures. There are also even more litigious employee infractions to deal with like sexual harassment, theft of company property, etc.<br><br>As I said above in #35, I\'m sure some fur has flown internally. The Microsoft company response to the employee in question -- and again, it\'s one employee -- shouldn\'t be a blog transparent response for the rest of the world to see.<br><br>And Eric - I agree with most of what you said in your response. I never said Microsoft the company wasn\'t responsible here (in fact I\'m saying almost the same thing as you), just asking that (some) people keep this situation in perspective.<br><br>Too many times on the web the response for Microsoft --  wrong or right -- is get out the pitchforks. Yes, sometimes the company deserves criticism and I\'ll jump aboard that train when it is reasonable. I don\'t think blaming Microsoft the company here <i>completely</i> is a reasonable response. If we set the bar too high then every company with employees is in trouble when their employee hotlinks an image.<br><br>Finally, I doubt we\'ll see any public response from Microsoft on this one, nor should we, but I do think that the parties involved, including Mr. Kennedy and Yahoo (since they own Flickr and thus it was them who had their bandwidth used) should receive a direct response and apology for the incident.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662402">\
	 <div id="dsq-comment-header-9662402" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662402" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9662402" href="http://randymorin.wordpress.com/" target="_blank" rel="nofollow">randymorin</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662402" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662402" class="dsq-comment-message">Beyond the fact that it burns the bridge back to Microsoft, I\'m pretty certain such publicity compounded with previous instances [http://www.sifry.com/alerts/archives/000297.html] suggest a recurring behavior that other employers and partners are likely going to avoid.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662397">\
	 <div id="dsq-comment-header-9662397" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662397" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9662397" href="http://www.cadenhead.org/workbench" target="_blank" rel="nofollow">Rogers Cadenhead</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662397" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662397" class="dsq-comment-message">Niall: "Nothing pornographic was shown in the picture, just a guy\'s back with a big CC logo covering his rear."<br><br>Were there two hands on the sides of the CC logo pulling it open?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662393">\
	 <div id="dsq-comment-header-9662393" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662393" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9662393" href="http://shakewellbeforeuse.com/" target="_blank" rel="nofollow">ariel</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662393" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662393" class="dsq-comment-message">"I’d hire Mr. Niall Kennedy in an instant, if ever I was in the fortunate position to do so. I admire people who don’t take sh*t from anyone and give it straight back."<br><br>Dominic - agreed. Scoble (no offense) seems to be taking the role of the nagging father figure by warning us to bend over or, god forbid, risk 10% of getting hired in the future. Scoble should see that he has risked at least 10% of his career by simply having a blog and having the balls to occasionally call out and talk shit on companies. And if you think that\'s any different than having a photo switcharu, you\'re wrong.  Companies take it very personally whether it\'s through words or photos.  Niall is known for his photography, so this was his ode to a shit-talking blog post. Doesn\'t make it "right" but that\'s besides my point.<br><br>Someone just today sent me something about how we should ban hiring people who "fuck up", to which I went off on an opposing rant:<br><br><a href="http://www.shakewellbeforeuse.com/2006/12/if_youre_going_to_fuck_up_fuck.php" rel="nofollow">http://www.shakewellbeforeuse.com/2006/12/if_yo...</a></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662390">\
	 <div id="dsq-comment-header-9662390" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662390" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9662390" href="http://www.cadenhead.org/workbench" target="_blank" rel="nofollow">Rogers Cadenhead</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662390" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662390" class="dsq-comment-message">"Scoble (no offense) seems to be taking the role of the nagging father figure by warning us to bend over or, god forbid, risk 10% of getting hired in the future."<br><br>It\'s a lot easier to say "to hell with 10 percent of my future job prospects" when you\'re young. Scoble\'s paternal instinct is something you crazy kids with your "F the Man" tattoos and your hip-hop music and low-rider jeans with the butt flosser underwear sticking out the top should think about every once in a while. You\'ll thank me when you have kids and a mortgage.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662391">\
	 <div id="dsq-comment-header-9662391" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662391" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9662391" href="http://evelynrodriguez.typepad.com/" target="_blank" rel="nofollow">Evelyn Rodriguez</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662391" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662391" class="dsq-comment-message">I hear Dominic. I don\'t want to work with yes-people that just tell you what you want to hear either.<br><br>Here\'s the section from the group agreements for a weekly "Daring to Live an Authentic Life" group that I used to faciliate/run (I say \'used to\' because it\'s not I that runs it now, but We.) Yes, you can be both professional/kind AND straightforward/true to your integrity.<br><br>"TRUTH AND INTEGRITY:  Group members agree to be authentic and truthful.  Speaking the truth involves risk and can only occur safely in a compassionate environment.<br><br>Due to the topic of this group “Daring to Live an Authentic Life,” this is especially important.  There is a way to communicate with compassion and diplomacy and not suppress our intense feelings, avoid “elephants in the room”, or skirt difficult issues.<br><br>Often in our interactions with others we have conditioned and trained ourselves to squash what we need to say out of habit – and an overt sense of “politeness”, fear of judgment, or our need for approval.<br><br>This is a rare opportunity to practice authentic conversation in a safe environment. Speak with integrity, respect, and dignity for other people. Remember honesty is not the same as bluntness. Be kind."</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662392">\
	 <div id="dsq-comment-header-9662392" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662392" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9662392" href="http://blogs.msdn.com/rssteam" target="_blank" rel="nofollow">Sean Lyndersay</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662392" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662392" class="dsq-comment-message">A few clarifying comments.<br><br>First, it was a clear mistake on my part not to link back to Flickr or attribute Niall for the use of his photo. I had fully intended to attribute to the photo to Niall, and simply forgot while writing the post.<br><br>In updating the post, I immediately apologised publicly for that mistake (TDavid: it\'s still there: you can go and read it).<br><br>Personally, I fully support Niall\'s (and flickr\'s) rights here (including, for that matter, Niall\'s right to change or remove the image).<br><br>I found out about the change from a co-worker and had removed the image from the post just before Niall emailed me.<br><br>Rogers: yes, the picture you\'re thinking of is the one that was posted.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662388">\
	 <div id="dsq-comment-header-9662388" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662388" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9662388" href="http://spamfree24.org/" target="_blank" rel="nofollow">John Adams</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662388" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662388" class="dsq-comment-message">Thats really worth a laugh. But maybe thats only true because micr*soft is involved.<br>Would it be funny if a no-name webhosting company did this? I think people would never recognize.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662386">\
	 <div id="dsq-comment-header-9662386" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662386" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9662386" href="http://roostersrail.wordpress.com/" target="_blank" rel="nofollow">The Rooster</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662386" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662386" class="dsq-comment-message">Always pays to host your own images and play by the rules.<br><br>Blogging 101.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662387">\
	 <div id="dsq-comment-header-9662387" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662387" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9662387" href="http://nakedconversations.com/" target="_blank" rel="nofollow">shel israel</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662387" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662387" class="dsq-comment-message">Wow. This is what I call a Naked Conversation of ever there was one.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662384">\
	 <div id="dsq-comment-header-9662384" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662384" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9662384" href="http://www.irwebreport.com/daily" target="_blank" rel="nofollow">Dominic Jones</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662384" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662384" class="dsq-comment-message">I interpret Niall\'s behavior not as a prank or a childish response, but as an honest, passionate (and possibly angry) reaction to someone disrespecting his rights. It was a you-f**K-with-me-I\'ll-do-it-straight-back response.<br><br>I\'m sure he thought long and hard before he did it. And I\'m sure to some extent he regrets doing it, but he also knows he\'d feel a lot worse if he\'d done nothing.<br><br>Some people are just wired that way. They\'re proud. Frankly, they make the world much more interesting than it otherwise would be.<br><br>Since Robert is travelling, I won\'t go too far on this point, but I thought the whole point of blogs was authenticity.<br><br>When people start saying you shouldn\'t burn bridges and should always be nice even if you don\'t want to be, I start to question how authentic they are. It\'s a form of self-censorship that runs counter to the spirit of blogging.<br><br>It makes me question Robert\'s motives for questioning Niall\'s transparently obnoxious behavior. Would he have said the same thing if the person responsible was potentially going to be a future employer?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662385">\
	 <div id="dsq-comment-header-9662385" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662385" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9662385" href="http://www.makeyougohmm.com/" target="_blank" rel="nofollow">TDavid</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662385" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662385" class="dsq-comment-message">Via Skype tect chat, I spoke to Niall this morning (see the link in comment #60 for details) and got more details behind the story from the horse\'s mouth.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662383">\
	 <div id="dsq-comment-header-9662383" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662383" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9662383" href="http://www.cadenhead.org/workbench" target="_blank" rel="nofollow">Rogers Cadenhead</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662383" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662383" class="dsq-comment-message">"I interpret Niall’s behavior not as a prank or a childish response, but as an honest, passionate (and possibly angry) reaction to someone disrespecting his rights."<br><br>What about goat man\'s rights? His picture was copyrighted too. I\'ll bet he\'s feeling violated right now.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662381">\
	 <div id="dsq-comment-header-9662381" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662381" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9662381" href="http://foolswisdom.com/" target="_blank" rel="nofollow">Lloyd Budd</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662381" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662381" class="dsq-comment-message">Sure, Niall could have been more tasteful in how he expressed being upset, but Robert, I wonder as to the goals of your post? If any of your message was genuinely to help Niall, I think you are way off the mark. "Easily taken care of, if you want, with a single email to the right guy."</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662380">\
	 <div id="dsq-comment-header-9662380" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662380" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9662380">TAG</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662380" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662380" class="dsq-comment-message">Robert,<br><br>Have you even tried to contact Microsoft to change something without your blue badge and access to active directory address book ?<br><br>It\'s worth to try.<br><br>Niall did everything correctly. If you think that kissing Microsoft ass till end of your days is good strategy to be hired back - nobody will try to change your opinion - keep doing this.<br><br>For human resources there must be different hiring criteria: Will this person be able to work good and in creative way - not kissing ass of his managers to get nice annual review score.<br><br>For you better to keep doing good job at PodTech - otherwise you will never that fame that you got from posting under Microsoft badge.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662379">\
	 <div id="dsq-comment-header-9662379" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662379" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9662379" href="http://www.niallkennedy.com/" target="_blank" rel="nofollow">Niall Kennedy</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662379" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662379" class="dsq-comment-message">It seems that similar arguments of career safe guarding have been used in the past with Microsoft, such employees not using "game guides" during their own personal game time. Google likes to recruit from Burning Man, other companies may stay away from the fire and nudity.<br><br>If you\'d like a long read of the events from my point of view <a href="http://www.niallkennedy.com/blog/archives/2006/12/microsoft-copyright-photograph.html" title="Handling of Microsoft\'s copyleft violation" rel="nofollow">I\'ve posted my own account to my blog</a>.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662378">\
	 <div id="dsq-comment-header-9662378" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662378" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9662378" href="http://bananasfk.wordpress.com/" target="_blank" rel="nofollow">bananasfk</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662378" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662378" class="dsq-comment-message">Err like who cares? and what happenned to the post Microsoft Mr Bleizer ?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662377">\
	 <div id="dsq-comment-header-9662377" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662377" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9662377" href="http://sparksengr.wordpress.com/" target="_blank" rel="nofollow">sk</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662377" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662377" class="dsq-comment-message">Niall, did Sean Lyndersay respond to your e-mail or did it actually go to his junk mail folder?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662376">\
	 <div id="dsq-comment-header-9662376" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662376" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9662376" href="http://sparksengr.wordpress.com/" target="_blank" rel="nofollow">sk</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662376" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662376" class="dsq-comment-message">Wow! That image was anything but tasteful. I don\'t think the "CC" logo really hides anything. There\'s no doubt that Sean Lyndersay made a mistake and there\'s also no doubt that ultimately, it\'s Microsoft\'s responsibility but what was this all about? Seems like it was done more out of spite.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662375">\
	 <div id="dsq-comment-header-9662375" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662375" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9662375">TAG</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662375" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662375" class="dsq-comment-message">sk,<br><br>I think it was from "Email" link (contact.aspx) at blog.<br><br>Also - take a look at this from other point of view. He has account at Flickr, he is free to do anything he wish with it - upload/delete/change pictures at it.<br><br>Why should he care if somebody has linked to HIS pictures ?<br><br>It\'s big mistake at web-world - linking instead of hosting on your own host.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662374">\
	 <div id="dsq-comment-header-9662374" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662374" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9662374" href="http://engtech.wordpress.com/" target="_blank" rel="nofollow">engtech</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662374" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662374" class="dsq-comment-message">Just a reminder to read the comment #68, Niall\'s response.<br><br>One salient point:<br><blockquote>A few months ago Flickr co-founder Caterina Fake swapped one of her Flickr photos after improper use on Om Malik\'s blog, placing the word "GOATSE" in big letters in place of her picture of an awning of the Brickhouse restaurant in San Francisco. Photo swapping is a definite way to grab the attention of the site misusing your content. The Goatse meme is particularly apt for cases of direct or attempted IP theft.</blockquote></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662373">\
	 <div id="dsq-comment-header-9662373" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662373" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9662373" href="http://www.psynixis.com/blog/" target="_blank" rel="nofollow">Simon Brocklehurst</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662373" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662373" class="dsq-comment-message">Well, I took a look at the picture. Really LMAO @ the description of this image as "pornographic"!<br><br>por·nog·ra·phy: n. Depiction of erotic behaviour intended to cause sexual excitement.<br><br>I\'m not even sure if this image qualifies as "offensive".  It\'s more anatomical than anything.<br><br>This is just an (amusing) storm in a teacup...</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662371">\
	 <div id="dsq-comment-header-9662371" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662371" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9662371">TanNg</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662371" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662371" class="dsq-comment-message">@Niall Kenned.<br><br>If the image was not insulting or offensive why not post it on your blog, but only link to it. Porn or not, do you think that MS blog readers deserve this picture while your readers not?<br><br>MS blogger may be wrong, but this could not use as your excuse, you are responsible for what you have done. At least you should apology to MSDN blog readers</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662370">\
	 <div id="dsq-comment-header-9662370" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662370" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9662370">Lollercaust</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662370" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662370" class="dsq-comment-message"><a href="http://www.msfirefox.com/" rel="nofollow">http://www.msfirefox.com/</a></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662366">\
	 <div id="dsq-comment-header-9662366" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662366" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9662366" href="http://magicaldaysandnights.wordpress.com/" target="_blank" rel="nofollow">Willow</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662366" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662366" class="dsq-comment-message">Ok folks, here\'s a little something that you learn in kindergarten - if it\'s not yours and you take it, it\'s called STEALING,  Geesh, what\'s so hard to understand about that.  It doesn\'t matter if he had something on his website about whether or not you needed permission to use something off his site.  The basic fact is that it wasn\'t Microsoft\'s site, ergo it\'s stealing.  That means that no dessert for Microsoft, a time out in the corner and a spanking.  And a written apology to Niall.<br><br>Secondly, I\'ve read that he replaced it with a pornographic image - no he didn\'t.  The naked back is not pornographic.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662365">\
	 <div id="dsq-comment-header-9662365" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662365" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9662365" href="http://mercuryeric.livejournal.com/" target="_blank" rel="nofollow">Eric Trautmann</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662365" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662365" class="dsq-comment-message">"I don’t think so. Unprofessional, especially for someone who used to work at Microsoft."<br><br>As a former Microsoft-y myself, I have to say that -- having experienced the kind of self-absorption that runs rather rampant within the company -- the Niall stunt probably was more effective than you may think.<br><br>If asked nicely, the individual responsible may have pulled down the "offending" image. If shown, publicly, how inappropriate the action is, now many within management and throughout a variety of teams are going to be more careful in future.<br><br>It wasn\'t exactly tactful, but it\'s dead certain to more effective than a gently-worded (and quickly ignored) e-mail.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662364">\
	 <div id="dsq-comment-header-9662364" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662364" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9662364" href="http://sparksengr.wordpress.com/" target="_blank" rel="nofollow">sk</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662364" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662364" class="dsq-comment-message">"And a written apology to Niall."<br><br>Just like Niall owes a written apology to readers of that blog. I don\'t think he\'s going to do it anyway. A naked back may not be pornographic but it\'s definitely not tasteful.<br><br>"It wasn’t exactly tactful, but it’s dead certain to more effective than a gently-worded (and quickly ignored) e-mail."<br><br>The e-mail needn\'t have been gently-worded. He should  have probably e-mailed them first and done this if that didn\'t work, you know?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662362">\
	 <div id="dsq-comment-header-9662362" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662362" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9662362">anon</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662362" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662362" class="dsq-comment-message">Yea, yea, Niall, this is going on your permanent file.<br><br>Scoble, you\'re a douche.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662363">\
	 <div id="dsq-comment-header-9662363" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662363" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9662363">anon</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662363" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662363" class="dsq-comment-message">Microsoft: PLEASE Mr. BUSH, POOR PEOPLE IN CHINA ARE STEALING OUR SOFTWAREZ!!!!!!!!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662446">\
	 <div id="dsq-comment-header-9662446" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662446" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9662446" href="http://janetalkstech.com" target="_blank" rel="nofollow">Jane Ullah</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662446" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662446" class="dsq-comment-message">A picture of someone\'s barely covered butthole is not in good taste. Ugh. He\'s in the right for swapping out, but this is one of those cases where it\'s better to be prudent than right. Don\'t bite the finger that fed you, Mr. I\'m-teaching-the-big-guy-a-lesson-in-IP.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662444">\
	 <div id="dsq-comment-header-9662444" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662444" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9662444" href="http://soapbox.co.nz/" target="_blank" rel="nofollow">PatrickQG</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662444" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662444" class="dsq-comment-message">Personally I think the proper way of handling this would\'ve been:<br><br>1. Send an email.<br>2. Remove the image or replace with something not in poor taste.<br>3. Jump up and down screaming. Or you know, try contacting Microsoft by phone. I\'m sure if you rang their reception and said "one of your websites is violating my copyright, put me through to a lawyer" you\'d get things sorted pretty quickly.<br><br>For those bringing up the bandwidth issue, if this was a flickr image, he\'s not paying bandwidth.<br><br>Personally I think this makes Niall look like really immature - I would think twice before working professionally with him, and I\'m sure others will too. It\'s not about being a yes man, it\'s about thinking about the fact that he\'s not just alienated himself against Microsoft, but potentially many readers of that blog</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662442">\
	 <div id="dsq-comment-header-9662442" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662442" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9662442">Nail Connedy</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662442" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662442" class="dsq-comment-message">Violating the rights of the "goatse" picture owner(s) to illustrate how bad you feel about "them" violating your rights... sounds kind of mo^H^H ironic.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662422">\
	 <div id="dsq-comment-header-9662422" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662422" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9662422" href="http://www.transparentagenda.com/" target="_blank" rel="nofollow">Greg Furry</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662422" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662422" class="dsq-comment-message">I think people are missing the point. If Niall put a picture of a little kitten would anyone have noticed? A porn image may have been in poor taste(don\'t know didn\'t see it) but it got their attention.<br><br>I think that was the point. Professional or not, sometimes you need to do something radical to get the attention of a large corporation. Even if he did work there. Lets see I could make 30 phones calls to get it resolved or put up one porn image. Hmmm how much is your time worth?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662419">\
	 <div id="dsq-comment-header-9662419" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662419" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9662419" href="http://pardyj.wordpress.com/" target="_blank" rel="nofollow">pardyj</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662419" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662419" class="dsq-comment-message">Yeah, that must of really did a good job in catching Microsoft\'s attention. :p</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662418">\
	 <div id="dsq-comment-header-9662418" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662418" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9662418" href="http://webimpact.wordpress.com/" target="_blank" rel="nofollow">Corinne</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662418" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662418" class="dsq-comment-message">Out of all the millions of images he could have chosen to post, he chooses a porn image?<br>That\'s just weak. And unprofessional.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662406">\
	 <div id="dsq-comment-header-9662406" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662406" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9662406" href="http://scobleizer.wordpress.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662406" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662406" class="dsq-comment-message">Greg: if you worked at Microsoft and it takes 30 calls to get anyone\'s attention, you must not have been a very good employee.<br><br>He already admitted that he didn\'t give the team a chance. You say that\'s fine in your book. Geesh, if I screw up, I hope someone gives me a chance to fix my mistakes before making a capital case out of it.<br><br>Hell, if it were me I would have asked for a nice licensing fee first. Then I would have thrown up a Firefox advertisement if they didn\'t do anything. That would have been FAR funnier AND gotten their attention JUST as effectively (even moreso, me thinks).</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662405">\
	 <div id="dsq-comment-header-9662405" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662405" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9662405">xolith</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662405" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662405" class="dsq-comment-message">Awesome!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662401">\
	 <div id="dsq-comment-header-9662401" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662401" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9662401" href="http://dmbennett.wordpress.com/" target="_blank" rel="nofollow">Dave Bennett</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662401" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662401" class="dsq-comment-message">That this can\'t be seen as funny but some bad PR stunt, seems to defy logic.  If a company takes itself so seriously that it can\'t laugh at what a former employee did in jest, then the company needs to really inspect itself.<br><br>What Niall did is a reflection of his character, it\'s how he operates, whether he thought it was funny or did it out of angst and languor, or even anger is irrelevant.  If it did not appear during the time that he worked at Microsoft then he repressed part of  his character while working there.<br><br>I don\'t mean to morally justify what he did, so much as point out that Microsoft should have a good sense of humor about itself in remembering stunts like this.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662399">\
	 <div id="dsq-comment-header-9662399" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662399" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9662399" href="http://scobleizer.wordpress.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662399" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662399" class="dsq-comment-message">Dave: I don\'t work for Microsoft. Thanks for noticing.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662400">\
	 <div id="dsq-comment-header-9662400" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662400" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9662400" href="http://dmbennett.wordpress.com/" target="_blank" rel="nofollow">Dave Bennett</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662400" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662400" class="dsq-comment-message">Scoble:<br><br>I didn\'t mean to insinuate that you did, I just meant to notice your consideration here:<br><br>"Remember Niall, maybe someday this Web 2.0 bubble will end and you might need to go back to a company and look for a job. I know that doesn’t seem probable right now, but I’ve been there.<br><br>Burn bridges if you want, but I’ve learned over and over that people remember this kind of treatment and it certainly never disappears from Google. All three of my last job interviews had people looking over Google for unprofessional stuff like this to bring up in the interviews. And, all big companies have people who used to work at Microsoft so that bridge you’re blowing up? Might turn out to be the one you need to cross in the future."<br><br>That perhaps Microsoft would not consider having him back after something like this, in which case I am trusting your perception, you having worked at Microsoft and I having not worked there.<br><br>Of course I have no real perspective on what you mean when you say "I don\'t work for Microsoft" seeing as how I don\'t have any personal perspective on you, so perhaps this whole game is a bit tenuous and strained when thinking about trusting people or some level of truth.<br><br>I just meant to say: lighten up eh?<br><br>So-- yay for philosophical debate and pranks!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662398">\
	 <div id="dsq-comment-header-9662398" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662398" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9662398" href="http://dmbennett.wordpress.com/" target="_blank" rel="nofollow">Dave Bennett</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662398" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662398" class="dsq-comment-message">PS:<br><br>And by perspective I mean hermeneutic of interpretation.  I have no idea how to understand the implications of that sentence: as sarcastic, as ironic, as factual, etc...<br><br>Hope that seems more lucid now.<br><br>Carry on!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662389">\
	 <div id="dsq-comment-header-9662389" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662389" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9662389" href="http://andrewhitchcock.org/" target="_blank" rel="nofollow">Andrew Hitchcock</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662389" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662389" class="dsq-comment-message">A few months ago I noticed someone hosting one of my CC videos on YouTube without attribution. My first thought was to be a dick and e-mail YouTube to have it taken down. I had a change of mind and decided to sign up for a YouTube account and send the user a message asking him to give me attribution.<br><br>People get pissed off when big companies send rude take-down messages and don\'t understand New Media. If I had gotten the video removed, it would have created hostility and bad PR for me. The guy quickly responded and offered to remove the video, even though I said it was okay for him to leave it there.<br><br>Kindness and words can go a long way; you don\'t have to be rude or piss people off to make a point. I\'ve learned this lesson myself, but it seems Niall hasn\'t.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662382">\
	 <div id="dsq-comment-header-9662382" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662382" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9662382" href="http://scobleizer.wordpress.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662382" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662382" class="dsq-comment-message">&gt;That perhaps Microsoft would not consider having him back after something like this, in which case I am trusting your perception, you having worked at Microsoft and I having not worked there.<br><br>Actually, I wasn\'t thinking he\'d go back to Microsoft. But enough other people would see this kind of behavior and be troubled by it.<br><br>Former Microsoft employees now work at lots of other companies too, so if you burn a guy who works today at Microsoft, chances are that tomorrow he\'ll work at Google or Apple or some other place you might like to work and you\'ll never figure out why you didn\'t get hired.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662372">\
	 <div id="dsq-comment-header-9662372" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662372" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9662372" href="http://dmbennett.wordpress.com/" target="_blank" rel="nofollow">Dave Bennett</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662372" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662372" class="dsq-comment-message">Sounds like a bummer.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662369">\
	 <div id="dsq-comment-header-9662369" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662369" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9662369" href="http://mydigest.wordpress.com/" target="_blank" rel="nofollow">mydigest</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662369" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662369" class="dsq-comment-message">My worse side merrily applauds Niall’s “obey impulse, live the moment, damn the consequences” attitude that I find so seductive. As for career consequences, all that is above my head. As a useless git, I have excelled at crashing in flames all my life. Everybody has to have a hobby. Good luck Niall. Get drunk? Cy Quick of <a href="http://mydigest.wordpress.com" rel="nofollow">mydigest.wordpress.com</a></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662367">\
	 <div id="dsq-comment-header-9662367" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662367" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9662367" href="http://cameraware.wordpress.com/" target="_blank" rel="nofollow">cameraware</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662367" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662367" class="dsq-comment-message">I think sometimes you gotta do, what you gotta do. But sometimes you pay for what you had to do! Maybe a little, maybe a lot. Best of luck to you Niall. :)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662368">\
	 <div id="dsq-comment-header-9662368" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662368" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9662368" href="http://www.hawaiiweblog.com" target="_blank" rel="nofollow">hawaii</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662368" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662368" class="dsq-comment-message">I\'m with Diego (way the hell up there). Caterina Fake might\'ve pulled this on Om, but Niall pranking Microsoft is much more memorable. To "Niall" someone seems like the perfect shorthand to describe swapping an image to sabotage an inline linker. Better than to "Caterina," anyway.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662361">\
	 <div id="dsq-comment-header-9662361" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662361" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9662361" href="http://www.hustler.com/" target="_blank" rel="nofollow">Larry Flynt</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662361" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662361" class="dsq-comment-message">BTW.  From where did Niall steal the porn picture.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662360">\
	 <div id="dsq-comment-header-9662360" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662360" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9662360" href="http://www.pakcar.com/" target="_blank" rel="nofollow">Cars</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662360" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662360" class="dsq-comment-message">Hhhmmmm........</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662359">\
	 <div id="dsq-comment-header-9662359" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662359" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9662359" href="http://alliancecouncil.wordpress.com/" target="_blank" rel="nofollow">strategicalliance</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662359" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662359" class="dsq-comment-message">office challenges...pray that it all works out</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662409">\
	 <div id="dsq-comment-header-9662409" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662409" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9662409">Greg</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662409" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662409" class="dsq-comment-message">I wouldn\'t worry too much about Niall\'s employment prospects. Giving Microsoft the finger will enhance his prospects with the majority of humans.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662453">\
	 <div id="dsq-comment-header-9662453" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662453" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9662453" href="http://www.ecis.com/~alizard/technology.html" target="_blank" rel="nofollow">A.Lizard</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662453" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662453" class="dsq-comment-message">Scoble, you just took a whack at your own credibility. Your post was embarrassingly stupid.<br><br>EVERY IT pro knows that making a point to Microsoft regarding its security or operating practices takes the equivalent of a baseball bat to the head to get their attention.<br><br>Conversely, when given a choice between courteously getting ignored in a "professional" way by MS and cranking up one\'s public act to the point where MS can NOT ignore issues presented by an IT professional, professional responsibility dictates that one do what has to be done.<br><br>MS should be glad that the image they used without permission was edited, I would have been careful to make sure the CC license info did NOT interfere with viewers\' full enjoyment of the image.<br><br>I presume that you\'re also one of those idiots who think that once one tells MS about a critical security vuln in their products, "professional courtesy" means that one should stay silent about it even if MS seems inclined to leave the hole unpatched forever.<br><br>You have no business commenting on IT-related issues or professional conduct in a public forum.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662465">\
	 <div id="dsq-comment-header-9662465" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662465" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9662465" href="http://tomis.blogsome.com/" target="_blank" rel="nofollow">Tomis</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662465" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662465" class="dsq-comment-message">Microsoft stoled the guys image without _asking_ him. Why should he _ask_ them to take it down? I think he did the right thing. Change it to something that will embarrass them. It brings attention to the issue. Microsoft pirated the content!<br><br>Of course, all this does in the long term is ensure companies host the content they\'ve stolen instead of linking to it.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662464">\
	 <div id="dsq-comment-header-9662464" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662464" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9662464">Mike</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662464" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662464" class="dsq-comment-message">Actually, I\'m 27 and I think it\'s quite hilarious.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662463">\
	 <div id="dsq-comment-header-9662463" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662463" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9662463">Adrian Madrid</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662463" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662463" class="dsq-comment-message">I don\'t find the use of pornographic images agreeable in any way but I do find it interesting how you give MS a break when they broke copyright law. How does Ms treat people that break their copyright? Do they give people _any_ breaks? You mention the little guy working in MS and having pity for him. How about the little guy that owns a small business? Does he get a break from MS? Sorry, I don\'t have any pity on MS at all. Again, porn wouldn\'t have been my choice but I would have used an image of my own with some copy to bring their attention for sure.<br><br>AEM</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662462">\
	 <div id="dsq-comment-header-9662462" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662462" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9662462">JCK</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662462" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662462" class="dsq-comment-message">"Burn bridges if you want, but I’ve learned over and over that people remember this kind of treatment and it certainly never disappears from Google."  For every manager/interviewer that might balk at this, I think there\'ll be 10 who\'ll pat him on the back.<br><br>This reminds me of an interview I had with Amazon in 1998.  The interview with blazingly well with the engineers I spoke to.  Things looked great right up until I met with the VP of engineering, a recent hire from Microsoft.<br><br>He took one look at the Apple Newton 2100 in my hands and said, "I don\'t care what I\'m being told about you.  I think your choice of PDA tells me all I need to determine that you won\'t be working here."<br><br>I don\'t feel bad about that interview.  That attitude told me all I needed to knwo about working for Amazon, especially while that guy was VP of engineering.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662461">\
	 <div id="dsq-comment-header-9662461" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662461" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9662461" href="http://www.kewlgizmos.com/" target="_blank" rel="nofollow">kewlgizmos</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662461" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662461" class="dsq-comment-message">i guess niall has a wicked sense of humor or a bad temper.  not sure which one.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662466">\
	 <div id="dsq-comment-header-9662466" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662466" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9662466">owen</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662466" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662466" class="dsq-comment-message">"I wouldn’t worry too much about Niall’s employment prospects. Giving Microsoft the finger will enhance his prospects with the majority of humans.<br><br>Comment by Greg — December 12, 2006 "<br><br>Yeah i heard he got a new job in PR at apple???</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9662467">\
	 <div id="dsq-comment-header-9662467" class="dsq-comment-header">\
	 <cite id="dsq-cite-9662467" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9662467">owen</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9662467" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9662467" class="dsq-comment-message">Quote "When people start saying you shouldn’t burn bridges and should always be nice even if you don’t want to be, I start to question how authentic they are. It’s a form of self-censorship that runs counter to the spirit of blogging."<br><br>I reckon the word blogging is probably interchangeable with evolution here...</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=niall_sends_microsoft_team_a_porn_message&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);
			}
		}
	});
}

})();




