




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": [{"body": "@Priscilaoliver Ou aquilo http://scobleizer.com/2007/09/23/the-10-rules-of-twitter-and-how-i-break-every-one/", "author_name": "JP_GolfinhU", "source_url": "http://www.ubervu.com/conversations/scobleizer.com/2007/09/23/the-10-rules-of-twitter-and-how-i-break-every-one/", "id": 16352261, "get_service_url": "http://twitter.com/", "title": "@Priscilaoliver Ou aquilo http://scobleizer.com/2007/09/23/the-10-rules-of-twitter-and-how-i-break-every-one/", "url": "http://twitter.com/JP_GolfinhU/status/6454453604", "source": "ubervu", "get_service_name": "twitter", "avatar_url": "http://a1.twimg.com/profile_images/554232082/twitterProfilePhoto_normal.jpg", "author_url": "", "date_created": "1 week ago", "retweets": []}, {"body": "RT@xternisien:RT@florencedesruol:Never follow more than 300 people/Never follow anyone who isn\u2019t your real friend http://tinyurl.com/2d2h4o", "author_name": "SeverineGalus", "source_url": "http://www.ubervu.com/conversations/scobleizer.com/2007/09/23/the-10-rules-of-twitter-and-how-i-break-every-one/", "id": 16352254, "get_service_url": "http://twitter.com/", "title": "RT@xternisien:RT@florencedesruol:Never follow more than 300 people/Never follow anyone who isn\u2019t your real friend http://tinyurl.com/2d2h4o", "url": "http://twitter.com/SeverineGalus/status/6203918939", "source": "ubervu", "get_service_name": "twitter", "avatar_url": "http://a1.twimg.com/profile_images/501295378/moi_normal.JPG", "author_url": "", "date_created": "2 weeks ago", "retweets": []}, {"body": "RT @florencedesruol: Never follow more than 300 people/Never follow anyone who isn\u2019t your \u201creal\u201d friend http://tinyurl.com/2d2h4o", "author_name": "Xavier Ternisien", "source_url": "http://www.ubervu.com/conversations/scobleizer.com/2007/09/23/the-10-rules-of-twitter-and-how-i-break-every-one/", "id": 16352264, "get_service_url": "http://twitter.com/", "title": "RT @florencedesruol: Never follow more than 300 people/Never follow anyone who isn\u2019t your \u201creal\u201d friend http://tinyurl.com/2d2h4o", "url": "http://twitter.com/Xavier Ternisien/status/6203774377", "source": "ubervu", "get_service_name": "twitter", "avatar_url": "http://a3.twimg.com/profile_images/521054435/Photo_Twitter_normal.jpg", "author_url": "", "date_created": "2 weeks ago", "retweets": []}, {"body": "Never follow more than 300 people/Never follow anyone who isn\u2019t your \u201creal\u201d friend http://tinyurl.com/2d2h4o", "author_name": "Florence Desruol", "source_url": "http://www.ubervu.com/conversations/scobleizer.com/2007/09/23/the-10-rules-of-twitter-and-how-i-break-every-one/", "id": 16352262, "get_service_url": "http://twitter.com/", "title": "Never follow more than 300 people/Never follow anyone who isn\u2019t your \u201creal\u201d friend http://tinyurl.com/2d2h4o", "url": "http://twitter.com/Florence Desruol/status/6203499905", "source": "ubervu", "get_service_name": "twitter", "avatar_url": "http://a3.twimg.com/profile_images/418119147/6448_1210861440008_1482920341_2263859_4129029_s_normal.jpg", "author_url": "", "date_created": "2 weeks ago", "retweets": []}, {"body": "Rules of TWITTER: ex: au lieu de tweeter &quot;@username est un bot, un spam&quot; il existe les DM et le &quot;unfollow&quot;+classes http://tinyurl.com/2d2h4o", "author_name": "florencedesruol", "source_url": "http://www.ubervu.com/conversations/scobleizer.com/2007/09/23/the-10-rules-of-twitter-and-how-i-break-every-one/", "id": 16352265, "get_service_url": "http://twitter.com/", "title": "Rules of TWITTER: ex: au lieu de tweeter &quot;@username est un bot, un spam&quot; il existe les DM et le &quot;unfollow&quot;+classes http://tinyurl.com/2d2h4o", "url": "http://twitter.com/florencedesruol/status/6203362339", "source": "ubervu", "get_service_name": "twitter", "avatar_url": "http://a3.twimg.com/profile_images/418119147/6448_1210861440008_1482920341_2263859_4129029_s_normal.jpg", "author_url": "", "date_created": "2 weeks ago", "retweets": []}, {"body": "@FinestCoffee Read this, it's funny and it may help :) http://tiny.cc/z3I2x", "author_name": "organicdealsmom", "source_url": "http://www.ubervu.com/conversations/scobleizer.com/2007/09/23/the-10-rules-of-twitter-and-how-i-break-every-one/", "id": 16352260, "get_service_url": "http://twitter.com/", "title": "@FinestCoffee Read this, it's funny and it may help :) http://tiny.cc/z3I2x", "url": "http://twitter.com/organicdealsmom/status/4937398457", "source": "ubervu", "get_service_name": "twitter", "avatar_url": "http://a3.twimg.com/profile_images/248375771/OrganicDeals_button_normal.png", "author_url": "", "date_created": "2 months ago", "retweets": []}, {"body": "@mchillfire Als je iets tegen mij zegt, zet er dan &quot;@dineshmurli&quot; voor.. En hier wat tips..or not: http://bit.ly/3Tj4Fd", "author_name": "dineshmurli", "source_url": "http://www.ubervu.com/conversations/scobleizer.com/2007/09/23/the-10-rules-of-twitter-and-how-i-break-every-one/", "id": 16352259, "get_service_url": "http://twitter.com/", "title": "@mchillfire Als je iets tegen mij zegt, zet er dan &quot;@dineshmurli&quot; voor.. En hier wat tips..or not: http://bit.ly/3Tj4Fd", "url": "http://twitter.com/dineshmurli/status/4678462094", "source": "ubervu", "get_service_name": "twitter", "avatar_url": "http://a1.twimg.com/profile_images/393500348/DSC03366_normal.JPG", "author_url": "", "date_created": "2 months ago", "retweets": []}, {"body": "hay 10 reglas en twitter http://tinyurl.com/2d2h4o &lt;- 11 nunca digas &quot;lo supe/vi en twitter&quot;, dejales la duda de tu fuente", "author_name": "jorgecerda", "source_url": "http://www.ubervu.com/conversations/scobleizer.com/2007/09/23/the-10-rules-of-twitter-and-how-i-break-every-one/", "id": 16352263, "get_service_url": "http://twitter.com/", "title": "hay 10 reglas en twitter http://tinyurl.com/2d2h4o &lt;- 11 nunca digas &quot;lo supe/vi en twitter&quot;, dejales la duda de tu fuente", "url": "http://twitter.com/jorgecerda/status/4483346170", "source": "ubervu", "get_service_name": "twitter", "avatar_url": "http://a1.twimg.com/profile_images/436144690/ijorge_normal.jpg", "author_url": "", "date_created": "2 months ago", "retweets": []}, {"body": "&quot;The 10 rules of Twitter (and how I break every one)&quot; http://j.mp/3e4Vf", "author_name": "Greenspotting", "source_url": "http://www.ubervu.com/conversations/scobleizer.com/2007/09/23/the-10-rules-of-twitter-and-how-i-break-every-one/", "id": 16352253, "get_service_url": "http://twitter.com/", "title": "&quot;The 10 rules of Twitter (and how I break every one)&quot; http://j.mp/3e4Vf", "url": "http://twitter.com/Greenspotting/status/4034071680", "source": "ubervu", "get_service_name": "twitter", "avatar_url": "http://a3.twimg.com/profile_images/386816905/A_logo_normal.jpg", "author_url": "", "date_created": "3 months ago", "retweets": []}, {"body": "hehe. funny reading @Scobleizer 2 years after.  'Never tweet more than 5 times a day'  http://bit.ly/7QbCu", "author_name": "helgebirk", "source_url": "http://www.ubervu.com/conversations/scobleizer.com/2007/09/23/the-10-rules-of-twitter-and-how-i-break-every-one/", "id": 16352257, "get_service_url": "http://twitter.com/", "title": "hehe. funny reading @Scobleizer 2 years after.  'Never tweet more than 5 times a day'  http://bit.ly/7QbCu", "url": "http://twitter.com/helgebirk/status/4001121119", "source": "ubervu", "get_service_name": "twitter", "avatar_url": "http://a1.twimg.com/profile_images/278833924/helge_normal.jpg", "author_url": "", "date_created": "3 months ago", "retweets": []}], "has_more_reactions": true, "users": {"94cde4b3c21de07d7344462e92b7d06b": {"username": "Social Bookmark", "tumblr": "", "display_name": "Social Bookmark", "url": "http://disqus.com/guest/94cde4b3c21de07d7344462e92b7d06b/", "registered": false, "linkedin": "", "blog": "http://www.socialbookmark.in.th/", "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": ""}, "9c9bbbf2935a01d2c3513b04f95afd29": {"username": "Christian Burns", "tumblr": "", "display_name": "Christian Burns", "url": "http://disqus.com/guest/9c9bbbf2935a01d2c3513b04f95afd29/", "registered": false, "linkedin": "", "blog": "http://christianburns.wordpress.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/28/2007/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "ee622f056f368dab1d5e55a1bb57e5b9": {"username": "Guest", "tumblr": "", "display_name": "Guest", "url": "http://disqus.com/guest/ee622f056f368dab1d5e55a1bb57e5b9/", "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": ""}, "069d18ae115048e87655e07f18f07c5a": {"username": "Julian", "tumblr": "", "display_name": "Julian", "url": "http://disqus.com/guest/069d18ae115048e87655e07f18f07c5a/", "registered": false, "linkedin": "", "blog": "http://www.casualrevolt.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": ""}, "20324bc263e398c8d5200da70dbdc0c1": {"username": "Samuel Wells", "tumblr": "", "display_name": "Samuel Wells", "url": "http://disqus.com/guest/20324bc263e398c8d5200da70dbdc0c1/", "registered": false, "linkedin": "", "blog": "http://twitter.com/samuelwells", "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": ""}, "e16b487a9acfbb54b4aef6a5879e5dca": {"username": "Joel Oleson", "tumblr": "", "display_name": "Joel Oleson", "url": "http://disqus.com/guest/e16b487a9acfbb54b4aef6a5879e5dca/", "registered": false, "linkedin": "", "blog": "http://www.sharepointjoel.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": ""}, "f867df58fd2efcb59688e0a183fd2e9d": {"username": "Maria de los Angeles", "tumblr": "", "display_name": "Maria de los Angeles", "url": "http://disqus.com/guest/f867df58fd2efcb59688e0a183fd2e9d/", "registered": false, "linkedin": "", "blog": "http://wilywordsmith.blogspot.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "658a3d25f0de94ce16feaa6515ccb7b2": {"username": "Michelle", "tumblr": "", "display_name": "Michelle", "url": "http://disqus.com/guest/658a3d25f0de94ce16feaa6515ccb7b2/", "registered": false, "linkedin": "", "blog": "http://www.thewritersforhire.com/blog/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/279/4457/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "groomdress": {"username": "groomdress", "tumblr": "", "display_name": "groomdress", "url": "http://disqus.com/groomdress/", "registered": true, "linkedin": "", "blog": "", "remote_domain": null, "points": 1, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": true, "flickr": "", "twitter": "", "remote_domain_name": ""}, "c03b5f168b481ee5b04207edaeb13c6c": {"username": "Thiane", "tumblr": "", "display_name": "Thiane", "url": "http://disqus.com/guest/c03b5f168b481ee5b04207edaeb13c6c/", "registered": false, "linkedin": "", "blog": "http://www.edelman.com.br/", "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": ""}, "19338a4a4699846c1c78561f9f2b8ec0": {"username": "bob smith", "tumblr": "", "display_name": "bob smith", "url": "http://disqus.com/guest/19338a4a4699846c1c78561f9f2b8ec0/", "registered": false, "linkedin": "", "blog": "http://www.funyfarm.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": ""}, "e3d8c4a59408472c0934f53464bb52e7": {"username": "Nils", "tumblr": "", "display_name": "Nils", "url": "http://disqus.com/guest/e3d8c4a59408472c0934f53464bb52e7/", "registered": false, "linkedin": "", "blog": "http://nodependenciesnologo.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": ""}, "2e5ec2665271d25de99b7d7430e9d301": {"username": "santiromero", "tumblr": "", "display_name": "santiromero", "url": "http://disqus.com/guest/2e5ec2665271d25de99b7d7430e9d301/", "registered": false, "linkedin": "", "blog": "http://www.santiromero.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": ""}, "aitengri": {"username": "aitengri", "tumblr": "", "display_name": "aitengri", "url": "http://disqus.com/aitengri/", "registered": true, "linkedin": "", "blog": "", "remote_domain": null, "points": 1, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "c59c3bd997ef214eb8fed558af3c459d": {"username": "hillary", "tumblr": "", "display_name": "hillary", "url": "http://disqus.com/guest/c59c3bd997ef214eb8fed558af3c459d/", "registered": false, "linkedin": "", "blog": "http://twitter.com/quepol", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/24/8408/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "ef6cf001ac809cf9a65f0c6c4e1fcdf7": {"username": "PooPsTech", "tumblr": "", "display_name": "PooPsTech", "url": "http://disqus.com/guest/ef6cf001ac809cf9a65f0c6c4e1fcdf7/", "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": ""}, "bookmarkth": {"username": "bookmarkth", "tumblr": "", "display_name": "bookmarkth", "url": "http://disqus.com/bookmarkth/", "registered": true, "linkedin": "", "blog": "", "remote_domain": null, "points": 1, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "0cab4bf72c0933d199091a89a0976f11": {"username": "Marryam Chaudhry", "tumblr": "", "display_name": "Marryam Chaudhry", "url": "http://disqus.com/guest/0cab4bf72c0933d199091a89a0976f11/", "registered": false, "linkedin": "", "blog": "http://blog.ceesquare.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": ""}, "05b723b3121d655df9e0d4cbbe77ea7f": {"username": "Daniel Brusilovsky", "tumblr": "", "display_name": "Daniel Brusilovsky", "url": "http://disqus.com/guest/05b723b3121d655df9e0d4cbbe77ea7f/", "registered": false, "linkedin": "", "blog": "http://dbrusilovsky.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": ""}, "7875070dd1ddf130eb5e0f0efccae02f": {"username": "David Litsky", "tumblr": "", "display_name": "David Litsky", "url": "http://disqus.com/guest/7875070dd1ddf130eb5e0f0efccae02f/", "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": ""}, "a2f334e6291a30f36ae802af3a6db51d": {"username": "Moksh Juneja", "tumblr": "", "display_name": "Moksh Juneja", "url": "http://disqus.com/guest/a2f334e6291a30f36ae802af3a6db51d/", "registered": false, "linkedin": "", "blog": "http://mokshjuneja.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/6921/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "51ce059c95f8a33f1950b15a28afb817": {"username": "vaspers aka steven e. streight", "tumblr": "", "display_name": "vaspers aka steven e. streight", "url": "http://disqus.com/guest/51ce059c95f8a33f1950b15a28afb817/", "registered": false, "linkedin": "", "blog": "http://www.vaspersthegrate.blogspot.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "24df4aa5b66dce839b14baaf97272e9a": {"username": "Blurtsmum", "tumblr": "", "display_name": "Blurtsmum", "url": "http://disqus.com/guest/24df4aa5b66dce839b14baaf97272e9a/", "registered": false, "linkedin": "", "blog": "http://kaypatterson.blogspot.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "c2ec17b9df58d5843b147cf69deef262": {"username": "Michael Markman", "tumblr": "", "display_name": "Michael Markman", "url": "http://disqus.com/guest/c2ec17b9df58d5843b147cf69deef262/", "registered": false, "linkedin": "", "blog": "http://mickeleh.blogspot.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "e3ab2d29158988dddaf497b19c92021e": {"username": "geoff", "tumblr": "", "display_name": "geoff", "url": "http://disqus.com/guest/e3ab2d29158988dddaf497b19c92021e/", "registered": false, "linkedin": "", "blog": "http://www.somacow.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": ""}, "0d12bf7609a56436fdeea82ca54bfb20": {"username": "Tom", "tumblr": "", "display_name": "Tom", "url": "http://disqus.com/guest/0d12bf7609a56436fdeea82ca54bfb20/", "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": ""}, "581cef73d727e6019d731afd382acb6f": {"username": "Brian Humphrey", "tumblr": "", "display_name": "Brian Humphrey", "url": "http://disqus.com/guest/581cef73d727e6019d731afd382acb6f/", "registered": false, "linkedin": "", "blog": "http://lafd.blogspot.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "29a430f78330d90ae4d6adb90157365a": {"username": "Jeremy Toeman", "tumblr": "", "display_name": "Jeremy Toeman", "url": "http://disqus.com/guest/29a430f78330d90ae4d6adb90157365a/", "registered": false, "linkedin": "", "blog": "http://www.livedigitally.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/1349/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "7afb998c2868742f08ffbc6c5830eb1c": {"username": "seo", "tumblr": "", "display_name": "seo", "url": "http://disqus.com/guest/7afb998c2868742f08ffbc6c5830eb1c/", "registered": false, "linkedin": "", "blog": "http://www.bookmarkdigg.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": ""}, "3e63c03712bfe4c4256ebde759d5e6da": {"username": "Jon", "tumblr": "", "display_name": "Jon", "url": "http://disqus.com/guest/3e63c03712bfe4c4256ebde759d5e6da/", "registered": false, "linkedin": "", "blog": "http://www.blogthot.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": ""}, "ce83a8e239c0cfce3488d3fec4d5d8de": {"username": "Julian Bond", "tumblr": "", "display_name": "Julian Bond", "url": "http://disqus.com/guest/ce83a8e239c0cfce3488d3fec4d5d8de/", "registered": false, "linkedin": "", "blog": "http://www.ecademy.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": ""}, "f220d82c6034f36ed1276bb6d97445e0": {"username": "marshal sandler", "tumblr": "", "display_name": "marshal sandler", "url": "http://disqus.com/guest/f220d82c6034f36ed1276bb6d97445e0/", "registered": false, "linkedin": "", "blog": "http://www.apple-of-my-i.com/index.php", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/169/8483/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "bridgetbusutil": {"username": "bridgetbusutil", "tumblr": "", "display_name": "bridgetbusutil", "url": "http://disqus.com/bridgetbusutil/", "registered": true, "linkedin": "in/busutilb", "blog": "", "remote_domain": null, "points": 1, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "c16b02e9b0776c372e0973e2690ea0f5": {"username": "Boris", "tumblr": "", "display_name": "Boris", "url": "http://disqus.com/guest/c16b02e9b0776c372e0973e2690ea0f5/", "registered": false, "linkedin": "", "blog": "http://bomega.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/28/2461/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "2714d87d70cf44cfd6d887a87a0a2e8a": {"username": "SeekGround", "tumblr": "", "display_name": "SeekGround", "url": "http://disqus.com/guest/2714d87d70cf44cfd6d887a87a0a2e8a/", "registered": false, "linkedin": "", "blog": "http://seeknock.blogs.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": ""}, "c3b551d900006ec2fb08f7d4f488384c": {"username": "Brandon J. Mendelson", "tumblr": "", "display_name": "Brandon J. Mendelson", "url": "http://disqus.com/guest/c3b551d900006ec2fb08f7d4f488384c/", "registered": false, "linkedin": "", "blog": "http://www.thebrandonshow.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": ""}, "ndesigns": {"username": "ndesigns", "tumblr": "", "display_name": "ndesigns", "url": "http://disqus.com/ndesigns/", "registered": true, "linkedin": "", "blog": "", "remote_domain": null, "points": 1, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "a52488511a3a75b8a4d5ed458c723bc0": {"username": "alicia", "tumblr": "", "display_name": "alicia", "url": "http://disqus.com/guest/a52488511a3a75b8a4d5ed458c723bc0/", "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": ""}, "malessa": {"username": "malessa", "tumblr": "", "display_name": "Paul Malessa aka Zorly", "url": "http://disqus.com/malessa/", "registered": true, "linkedin": "", "blog": "http://www.malessa.zorly.com", "remote_domain": null, "points": 1, "facebook": "", "avatar": "http://media.disqus.com/uploads/users/84/4499/avatar92.jpg", "delicious": "", "is_remote": false, "verified": true, "flickr": "", "twitter": "", "remote_domain_name": ""}, "7bd19b9ce4b66118b3b13c6c0efa1681": {"username": "Spencer", "tumblr": "", "display_name": "Spencer", "url": "http://disqus.com/guest/7bd19b9ce4b66118b3b13c6c0efa1681/", "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": ""}, "2c39cf01d99413656ed189114ebb0ccb": {"username": "Catherine Helzerman", "tumblr": "", "display_name": "Catherine Helzerman", "url": "http://disqus.com/guest/2c39cf01d99413656ed189114ebb0ccb/", "registered": false, "linkedin": "", "blog": "http://helzerman.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": ""}, "064fdff43404437faf16d69f053bb55c": {"username": "marilink", "tumblr": "", "display_name": "marilink", "url": "http://disqus.com/guest/064fdff43404437faf16d69f053bb55c/", "registered": false, "linkedin": "", "blog": "http://marilink.blogspot.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "d41ccf577c4b2b0ee33ed02000d8c346": {"username": "Daniele Rossi", "tumblr": "", "display_name": "Daniele Rossi", "url": "http://disqus.com/guest/d41ccf577c4b2b0ee33ed02000d8c346/", "registered": false, "linkedin": "", "blog": "http://www.superspud.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": ""}, "d42b25bd26dba2d750b8f1484eba8519": {"username": "Liam", "tumblr": "", "display_name": "Liam", "url": "http://disqus.com/guest/d42b25bd26dba2d750b8f1484eba8519/", "registered": false, "linkedin": "", "blog": "http://www.liamdaly.co.uk/", "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": ""}, "e53a3f431f6ad59ce7e042fd15700d8b": {"username": "Spencer", "tumblr": "", "display_name": "Spencer", "url": "http://disqus.com/guest/e53a3f431f6ad59ce7e042fd15700d8b/", "registered": false, "linkedin": "", "blog": "http://www.theislanddog.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": ""}, "e3a50c9afe9e1b41c4d7c094b7ca3442": {"username": "A.Falk", "tumblr": "", "display_name": "A.Falk", "url": "http://disqus.com/guest/e3a50c9afe9e1b41c4d7c094b7ca3442/", "registered": false, "linkedin": "", "blog": "http://www.xmlaficionado.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/85/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "5b392dc79d5b6d1dab580bf60e26fb7c": {"username": "nitya", "tumblr": "", "display_name": "nitya", "url": "http://disqus.com/guest/5b392dc79d5b6d1dab580bf60e26fb7c/", "registered": false, "linkedin": "", "blog": "http://pramanam.blogspot.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "d8bb4623895a9ba01a125d3d7800bead": {"username": "JoeDuck", "tumblr": "", "display_name": "JoeDuck", "url": "http://disqus.com/guest/d8bb4623895a9ba01a125d3d7800bead/", "registered": false, "linkedin": "", "blog": "http://joeduck.wordpress.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/1372/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "f18a3ff7d8738ac2f32784570ff1c63c": {"username": "Steve", "tumblr": "", "display_name": "Steve", "url": "http://disqus.com/guest/f18a3ff7d8738ac2f32784570ff1c63c/", "registered": false, "linkedin": "", "blog": "http://www.styletank.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": ""}, "c2551c11c542ea3821b6c55a8ae370ad": {"username": "David", "tumblr": "", "display_name": "David", "url": "http://disqus.com/guest/c2551c11c542ea3821b6c55a8ae370ad/", "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": ""}, "25908fad07a930db8ee2931da5b37b9d": {"username": "bammy", "tumblr": "", "display_name": "bammy", "url": "http://disqus.com/guest/25908fad07a930db8ee2931da5b37b9d/", "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": ""}, "8e946e2eb1fa4a0a558aaa15b15299d2": {"username": "Guest", "tumblr": "", "display_name": "Guest", "url": "http://disqus.com/guest/8e946e2eb1fa4a0a558aaa15b15299d2/", "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": ""}, "0c463309358f69cf57395f0020ba25d1": {"username": "Chuck Olsen", "tumblr": "", "display_name": "Chuck Olsen", "url": "http://disqus.com/guest/0c463309358f69cf57395f0020ba25d1/", "registered": false, "linkedin": "", "blog": "http://mnstories.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": ""}, "a417f7f4a6f44642a19cadeb1a44b753": {"username": "Steve", "tumblr": "", "display_name": "Steve", "url": "http://disqus.com/guest/a417f7f4a6f44642a19cadeb1a44b753/", "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": ""}, "4f2a0448c273f345988d01a69adf0e4d": {"username": "erwin blom", "tumblr": "", "display_name": "erwin blom", "url": "http://disqus.com/guest/4f2a0448c273f345988d01a69adf0e4d/", "registered": false, "linkedin": "", "blog": "http://www.erwinblom.nl/", "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": ""}, "ce7ebcefcaad70ac24d2df7d0d8825ed": {"username": "Keva Silversmith", "tumblr": "", "display_name": "Keva Silversmith", "url": "http://disqus.com/guest/ce7ebcefcaad70ac24d2df7d0d8825ed/", "registered": false, "linkedin": "", "blog": "http://gymsanity.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": ""}, "498823cfb97449e314fbea29e2026b15": {"username": "Marcin", "tumblr": "", "display_name": "Marcin", "url": "http://disqus.com/guest/498823cfb97449e314fbea29e2026b15/", "registered": false, "linkedin": "", "blog": "http://www.junkheap.net/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "0a65c243a2980fcfc87c0bbe2bc7f0bd": {"username": "Debra Roby", "tumblr": "", "display_name": "Debra Roby", "url": "http://disqus.com/guest/0a65c243a2980fcfc87c0bbe2bc7f0bd/", "registered": false, "linkedin": "", "blog": "http://astitchintime.blogspot.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "6b1b7fb0838dc0c80f51d99ed8a3d942": {"username": "Dwight Silverman", "tumblr": "", "display_name": "Dwight Silverman", "url": "http://disqus.com/guest/6b1b7fb0838dc0c80f51d99ed8a3d942/", "registered": false, "linkedin": "", "blog": "http://blogs.chron.com/techblog", "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": ""}, "diggma": {"username": "diggma", "tumblr": "", "display_name": "diggma", "url": "http://disqus.com/diggma/", "registered": true, "linkedin": "", "blog": "", "remote_domain": null, "points": 1, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "7fe40be0bd642552a57444741828040c": {"username": "creativesage", "tumblr": "", "display_name": "creativesage", "url": "http://disqus.com/guest/7fe40be0bd642552a57444741828040c/", "registered": false, "linkedin": "", "blog": "http://creativesage.wordpress.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/56/3506/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "18ae21cc6cee288fccb6d0804cadb59c": {"username": "rslux", "tumblr": "", "display_name": "rslux", "url": "http://disqus.com/guest/18ae21cc6cee288fccb6d0804cadb59c/", "registered": false, "linkedin": "", "blog": "http://www.rluxemburg.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/117/2549/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "760ce952c59d524d248b4484caf6fae6": {"username": "Clay Newton", "tumblr": "", "display_name": "Clay Newton", "url": "http://disqus.com/guest/760ce952c59d524d248b4484caf6fae6/", "registered": false, "linkedin": "", "blog": "http://seriousaboutcamo.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": ""}, "5fea64815467f4a37f026aa0c2e68ad6": {"username": "Jason", "tumblr": "", "display_name": "Jason", "url": "http://disqus.com/guest/5fea64815467f4a37f026aa0c2e68ad6/", "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": ""}, "3553f5e0db0fd1ec4e40a932a2d8f5b3": {"username": "Robert Scoble", "tumblr": "", "display_name": "Robert Scoble", "url": "http://disqus.com/guest/3553f5e0db0fd1ec4e40a932a2d8f5b3/", "registered": false, "linkedin": "", "blog": "http://scobleizer.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/4069/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "35e156845af26eb52d00e3531c47c157": {"username": "David Jacobs", "tumblr": "", "display_name": "David Jacobs", "url": "http://disqus.com/guest/35e156845af26eb52d00e3531c47c157/", "registered": false, "linkedin": "", "blog": "http://www.theconnectedworld.net/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "2378b474e8eadf5da80e86c2bbc75a74": {"username": "Dave Winer", "tumblr": "", "display_name": "Dave Winer", "url": "http://disqus.com/guest/2378b474e8eadf5da80e86c2bbc75a74/", "registered": false, "linkedin": "", "blog": "http://scripting.wordpress.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/636/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "smartkub": {"username": "smartkub", "tumblr": "", "display_name": "smartkub", "url": "http://disqus.com/smartkub/", "registered": true, "linkedin": "", "blog": "http://www.tutors-db.com", "remote_domain": null, "points": 1, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "31c4380ef2dc9704409cf9221a727a5d": {"username": "Avery Nevin", "tumblr": "", "display_name": "Avery Nevin", "url": "http://disqus.com/guest/31c4380ef2dc9704409cf9221a727a5d/", "registered": false, "linkedin": "", "blog": "http://twitter.com/AveryNevin", "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": ""}, "894f2d57fa62ce7598a49fb6d77a6953": {"username": "artifishall", "tumblr": "", "display_name": "artifishall", "url": "http://disqus.com/guest/894f2d57fa62ce7598a49fb6d77a6953/", "registered": false, "linkedin": "", "blog": "http://1stat.us/", "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": ""}, "1453239087125522a1c55ea6f9e1e733": {"username": "Seth E", "tumblr": "", "display_name": "Seth E", "url": "http://disqus.com/guest/1453239087125522a1c55ea6f9e1e733/", "registered": false, "linkedin": "", "blog": "http://theobstructionist.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": ""}, "LaurieManny": {"username": "LaurieManny", "tumblr": "", "display_name": "LaurieManny", "url": "http://disqus.com/LaurieManny/", "registered": true, "linkedin": "", "blog": "http://www.longbeachrealestatehome.com", "remote_domain": null, "points": 1, "facebook": "", "avatar": "http://media.disqus.com/uploads/users/6/4817/avatar92.jpg", "delicious": "", "is_remote": false, "verified": true, "flickr": "", "twitter": "", "remote_domain_name": ""}, "e640f12c8a1ebf1ad87d17e8c5d66ece": {"username": "Serena Carcasole", "tumblr": "", "display_name": "Serena Carcasole", "url": "http://disqus.com/guest/e640f12c8a1ebf1ad87d17e8c5d66ece/", "registered": false, "linkedin": "", "blog": "http://www.vbsondemand.com/category/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": ""}, "b037ae1d6fbf1e64df354394d9b25f86": {"username": "kristalk", "tumblr": "", "display_name": "kristalk", "url": "http://disqus.com/guest/b037ae1d6fbf1e64df354394d9b25f86/", "registered": false, "linkedin": "", "blog": "http://www.kristalsellsdenver.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/91/6449/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "miamism": {"username": "miamism", "tumblr": "", "display_name": "miamism", "url": "http://disqus.com/miamism/", "registered": true, "linkedin": "", "blog": "http://www.miamism.com", "remote_domain": null, "points": 2, "facebook": "", "avatar": "http://media.disqus.com/uploads/users/5/1175/avatar92.jpg", "delicious": "", "is_remote": false, "verified": true, "flickr": "", "twitter": "", "remote_domain_name": ""}, "6aed19beeb753928496b8c2d86be709c": {"username": "Jennie Z", "tumblr": "", "display_name": "Jennie Z", "url": "http://disqus.com/guest/6aed19beeb753928496b8c2d86be709c/", "registered": false, "linkedin": "", "blog": "http://jenniez.etsy.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": ""}, "vincej": {"username": "vincej", "tumblr": "", "display_name": "vincej", "url": "http://disqus.com/vincej/", "registered": true, "linkedin": "", "blog": "http://greenspotantiques.com", "remote_domain": null, "points": 1, "facebook": "http://www.facebook.com/people/Vince-Jelenic/100000330942023", "avatar": "http://media.disqus.com/uploads/users/110/2708/avatar92.jpg", "delicious": "", "is_remote": false, "verified": true, "flickr": "", "twitter": "http://twitter.com/GreenSpotting", "remote_domain_name": ""}, "5ae9cb90e1e24ecb017ffaaed94cf5a1": {"username": "Teresa Boardman", "tumblr": "", "display_name": "Teresa Boardman", "url": "http://disqus.com/guest/5ae9cb90e1e24ecb017ffaaed94cf5a1/", "registered": false, "linkedin": "", "blog": "http://www.stpaulrealestateblog.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/13/644/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "d3c4cdb15c832cfc746367a033b0d356": {"username": "orcmid", "tumblr": "", "display_name": "orcmid", "url": "http://disqus.com/guest/d3c4cdb15c832cfc746367a033b0d356/", "registered": false, "linkedin": "", "blog": "http://orcmid.spaces.live.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/27/3222/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "55264fe116fc21717970aa2e345ce0d6": {"username": "Pat Jenkins", "tumblr": "", "display_name": "Pat Jenkins", "url": "http://disqus.com/guest/55264fe116fc21717970aa2e345ce0d6/", "registered": false, "linkedin": "", "blog": "http://atravelingmom.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": ""}, "b1088dbd877c2d7d33e6b3b63ee38081": {"username": "Prokofy Neva", "tumblr": "", "display_name": "Prokofy Neva", "url": "http://disqus.com/guest/b1088dbd877c2d7d33e6b3b63ee38081/", "registered": false, "linkedin": "", "blog": "http://secondthoughts.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": ""}, "a794f88bd39621d0f0a7dea42ccdc255": {"username": "JT Allison", "tumblr": "", "display_name": "JT Allison", "url": "http://disqus.com/guest/a794f88bd39621d0f0a7dea42ccdc255/", "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": ""}, "4c67ae7dbcf57f96a2e6a7fa73e0d6c4": {"username": "Ian", "tumblr": "", "display_name": "Ian", "url": "http://disqus.com/guest/4c67ae7dbcf57f96a2e6a7fa73e0d6c4/", "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": ""}, "6abeeed61b33eb108d781d1d6c649886": {"username": "Jordon Cooper", "tumblr": "", "display_name": "Jordon Cooper", "url": "http://disqus.com/guest/6abeeed61b33eb108d781d1d6c649886/", "registered": false, "linkedin": "", "blog": "http://www.jordoncooper.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": ""}, "79e865374b7373a641557e57b687b2ae": {"username": "Guest", "tumblr": "", "display_name": "Guest", "url": "http://disqus.com/guest/79e865374b7373a641557e57b687b2ae/", "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": ""}, "3a82c9cde41e2bb976b26073fbf2d4d5": {"username": "lexia", "tumblr": "", "display_name": "lexia", "url": "http://disqus.com/guest/3a82c9cde41e2bb976b26073fbf2d4d5/", "registered": false, "linkedin": "", "blog": "http://www.alexiablogs.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": ""}, "dcf810abcc6016d162504556082f5c3f": {"username": "dreadsword", "tumblr": "", "display_name": "dreadsword", "url": "http://disqus.com/guest/dcf810abcc6016d162504556082f5c3f/", "registered": false, "linkedin": "", "blog": "http://savewinnipeg.wordpress.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/5922/avatar92.jpg", "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": ""}, "7622884e94de705a167e5eeec484f57d": {"username": "Kelly", "tumblr": "", "display_name": "Kelly", "url": "http://disqus.com/guest/7622884e94de705a167e5eeec484f57d/", "registered": false, "linkedin": "", "blog": "http://pinkfu.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/94/6675/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "8336c1f4604c47b075a7b16c90fb3373": {"username": "Guest", "tumblr": "", "display_name": "Guest", "url": "http://disqus.com/guest/8336c1f4604c47b075a7b16c90fb3373/", "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_11:40:06", "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": {"9690667": {"up_voted": false, "ip": "", "has_replies": false, "message": "I don't use Twitter. I have been considering signing up. But after reading this, I will never, ever sign up for Twitter now.<br>I'll wait for something better and then probably never sign up for that either.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-09-26_14:08:36", "killed": false, "user_key": "0d12bf7609a56436fdeea82ca54bfb20", "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}, "9690668": {"up_voted": false, "ip": "", "has_replies": false, "message": "HAHAHA The funny thin gis I couldn't do #9 because of you doing #2 (that didn't sound right). One time, I got fed up with having a page full of your tweets so I thought of 'unfollowing' you for a few days because. However-- I couldn't find you on my list! It's weird :) You're tweets show up but your name isn't there on my following list.<br><br>You're too spooky! :) Anyhoo, I'm glad I couldn't remove you after all because then I wouldn't have been alerted to this blog post.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-09-23_22:06:59", "killed": false, "user_key": "d41ccf577c4b2b0ee33ed02000d8c346", "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}, "9690669": {"up_voted": false, "ip": "", "has_replies": false, "message": "WAIT A SECOND!!! :) I totally follow you and I'm pretty sure you aren't on my followers list... twitter.com/iSpenc", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-09-23_22:06:20", "killed": false, "user_key": "7bd19b9ce4b66118b3b13c6c0efa1681", "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}, "9690670": {"up_voted": false, "ip": "", "has_replies": false, "message": "Bravo - break on, dude.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-09-23_20:31:29", "killed": false, "user_key": "d8bb4623895a9ba01a125d3d7800bead", "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}, "9690671": {"up_voted": false, "ip": "", "has_replies": false, "message": "Great post.  The one rule I do stick to is 120 characters.  I find it forces me to focus my point and make it quickly.  Unfortunately for readers, I do tend to \"twit and run\" -that's five tweets in a row followed by nothing until the next day.  Following everyone who follows you is a good rule.  If for no other reason, it makes for fun twit discussions when you're referencing each other's posts.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-09-23_19:15:31", "killed": false, "user_key": "2c39cf01d99413656ed189114ebb0ccb", "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}, "9690672": {"up_voted": false, "ip": "", "has_replies": false, "message": "Scoble -- I didn't say that was the rule!<br><br>Quite the opposite. I support you in whatever you want to do, and I break most of the rules you do, and my stock answer to people who don't like it is \"Vote with your feet.\"<br><br>Please, don't misrepresent me, that's how people come to hate other people, when the case gets overstated.<br><br>(And I didn't say you were a monkey either, even though your post headline says I did. Ouch. I was very careful not to make my post personal.)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-09-23_17:31:46", "killed": false, "user_key": "2378b474e8eadf5da80e86c2bbc75a74", "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}, "9690673": {"up_voted": false, "ip": "", "has_replies": false, "message": "i feel the need to point out that these \"rules\" have in no way been outlined by twitter, inc.  some of the comments seem to assume the rules are coming from the creators; but i think robert is responding to critique from users.<br><br>5. Don\u2019t assume other people are having the same experience you are.<br><br>and don't assume that your rules work for everyone else.  right?  :)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-09-23_18:59:03", "killed": false, "user_key": "c59c3bd997ef214eb8fed558af3c459d", "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}, "15312434": {"up_voted": false, "ip": "", "has_replies": false, "message": "i like your attitude and you are right if people were not happy they could unfollow!<br>How do you get around the 2000 bit. I have 1928 followers and following 2080 and I am stuck I can't move . IF you know how to get around that one you would help me a lot. I want to get over the 2000 to keep building!<br>Thanks in advance. happy tweeting from Barcelona. follow me too!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2009-08-24_12:22:53", "killed": false, "user_key": "bridgetbusutil", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "3 months ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9690675": {"up_voted": false, "ip": "", "has_replies": false, "message": "Dwight: it's pretty obvious you've never used Twitterrific if you think I can't watch 5,700 people and actually listen to what they say.<br><br>Seth: the problem with trying to stop Twittering is that someone always Tweets something damn interesting right before you go to bed.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-09-23_18:12:32", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9690676": {"up_voted": false, "ip": "", "has_replies": false, "message": "Well, my semi-fictional character was celebrity roasted two weekends ago when one Twitter contact decided to adopt my avatar and then several other contacts followed.  Take a look-see here for a brief round-up:  <a href=\"http://www.tmcamp.com/2007/09/manola-madness.php\" rel=\"nofollow\">http://www.tmcamp.com/2007/09/manola-madness.php</a> ... the moment has gone down quietly in history as \"twittergate\"<br><br>It both irritated and delighted me, but the irritation only stemmed from the fact that one of the 40-something kids playing in this romper room was sending me rude messages directly and personally.  Otherwise, great fun!<br><br>Incidentally and totally seriously, I agree, I think the medium should be organic and adaptable, but we still need boundaries if lines are crossed.<br><br>Everyone has the choice to follow/not follow.  I only started following you because Hugh mentioned the live twitter of your child (btw, congratulations, such inspiring and gorgeous photos!) I thought it was fascinating to see such a thing on Twitter.  It really captured my imagination ... if I ever had a child, I'd do the same!  And of course, I am always welcome to make new friends of friends.  But that's just me ... I think we all use this as we like.  It's all good.  Carry on ...", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-09-23_18:19:55", "killed": false, "user_key": "f867df58fd2efcb59688e0a183fd2e9d", "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}, "9690677": {"up_voted": false, "ip": "", "has_replies": false, "message": "The longer this debate about \"the rules\" goes on, the more I feel that perhaps the problem isn't the rules, it's Twitter. Maybe a better tool would solve these issues?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-09-23_18:18:51", "killed": false, "user_key": "18ae21cc6cee288fccb6d0804cadb59c", "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}, "9690678": {"up_voted": false, "ip": "", "has_replies": false, "message": "Nice rules there Scoble. I wonder if there are other assumed rules with other sites.<br><br>There must be a million for Digg!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-09-23_18:04:59", "killed": false, "user_key": "069d18ae115048e87655e07f18f07c5a", "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}, "9690679": {"up_voted": false, "ip": "", "has_replies": false, "message": "The discussion between you and creative sage (and i'm sure others) was fascinating.  Coming home from Christine Kane's concert to read it was a great way to end the night.<br><br>I live-twittered Bay to Breakers, I've read others twitters of events.  I think they're great.  I adore the conversations on twitter because they happen in real time AND publicly.  When else has that opportunity existed?<br><br>So you post lots of links.  It's my choice to click through or pass them up.  I'm an adult.  I can think for myself.<br><br>And what is that follow 1 for every 10 stupid rule?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-09-23_17:57:11", "killed": false, "user_key": "0a65c243a2980fcfc87c0bbe2bc7f0bd", "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}, "9690680": {"up_voted": false, "ip": "", "has_replies": false, "message": "Actually, Rule #8, as observed, bothers the crap out of me. Maybe it's because I'm *technically* a newbie, but reciprocation--whether online or off--just seems a common courtesy. In fact, if your following 1 for every ten, and in far too many cases 1 for every 100, you're not having a conversation (which should also be a rule). Actually, since this list is rules most people don't follow anyway, here's two more:<br><br>1b.Don't Twit your latest blog post (Die Twitterfeed Die!). Okay, everyone breaks this, but at least make it, again, a ratio of 10 to 1 legit Twits.<br><br>2b. Twitter is not the forum for depressing, philosophical, existential, and post-modern musings on life, love, death, and the quandries of capitalism.<br><br>Note: I swear that last part wasn't a critcism of you for dropping an Adams reference last night. :-)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-09-23_17:57:24", "killed": false, "user_key": "1453239087125522a1c55ea6f9e1e733", "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}, "9690682": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert,<br><br>You need to use Twitter the way that you see fit, and nobody should tell you how to use it. I prefer to follow my tweets through SMS so I limit who I receive SMS updates from, and it makes it a pleasurable experience for me.<br><br>David", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-09-23_17:58:02", "killed": false, "user_key": "7875070dd1ddf130eb5e0f0efccae02f", "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}, "9690683": {"up_voted": false, "ip": "", "has_replies": false, "message": "Wow, first, the only one i knew of was #1, and it seems more like a constraint than a rule.<br><br>The rest of these are ridiculous. Totally absurd.<br><br>I guess I pretty much break these rules every day as well.<br><br>Not a huge fan of the twittergrams, though. Do you think <a href=\"http://Utterz.com\" rel=\"nofollow\">Utterz.com</a> might be more effective for audio?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-09-23_17:59:09", "killed": false, "user_key": "760ce952c59d524d248b4484caf6fae6", "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}, "9690684": {"up_voted": false, "ip": "", "has_replies": false, "message": "I say: the users decide what's valuable to them, not the inventers! Did you know that in Holland Twitter is much more of a thinkthank, a knowledge center, an irc 2.0 etcetera then a What Are You Doing thing? That way i posted 10.000 tweets ;)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-09-23_17:21:14", "killed": false, "user_key": "4f2a0448c273f345988d01a69adf0e4d", "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}, "9690685": {"up_voted": false, "ip": "", "has_replies": false, "message": "i'm thinking two things:<br><br>1: all progress depends on the unreasonable men<br>2: if you are rude to your friends in real life and break the unwritten social rules you all agree to your friends might start avoiding you.<br><br>Breaking the rules to find out the rules is cool. Breaking them just for effect is boring and childish.<br><br>So what are you aiming for here?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-09-23_17:46:25", "killed": false, "user_key": "c16b02e9b0776c372e0973e2690ea0f5", "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}, "9690686": {"up_voted": false, "ip": "", "has_replies": false, "message": "I think twitters have the right to say what they want and followers have the right to follow or not. However, in reality, things are not so black and white. Different conversations have different values to the follower and the choice shouldn't be an on/off switch.<br>Rather, it would be nice if the system recognized this as a need and made it possible to click on a person's icon (in the running stream) and minimize or fold all their conversations temporarily so they could see if there were other conversations that were missed in the flood. Especially if the conversations were (a) a long-running thread of updates from 1 user, and (b) if the thread was a dialog conversation where only a subset of the users were visible to the follower.<br>Keep the value of the discussions, change the interface to make navigating into, around or through them simpler.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-09-23_17:49:20", "killed": false, "user_key": "5b392dc79d5b6d1dab580bf60e26fb7c", "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}, "9690687": {"up_voted": false, "ip": "", "has_replies": false, "message": "Rules?  What rules?  Seriously, I prefer it when you are breaking these \"rules.\" I have to wonder why these people follow you that complain about these things.  I particularly do not get the one about tweeting too much.  I once had a guy shout to the community that he was unfollowing me because I talked too much about my dog. I thought his comment was ungly.  Is it too hard just to unsubscribe and move on?<br><br>I stop following people for the opposite reason, that is if they have not joined the conversation in over a month.  Oh, the other main reasons that I stop following people?  If they use ugly language, talk about illegal activity, or added me on their way to adding hundreds of other people but do not leave interest tweets.  That does not mean that I shout out to the community about it though.<br><br>One thing that I personally have become more tentative about is adding other people.  When I first started using Twitter, I actively sought others to follow.  Now?  I occassionally add people when someone I know advertises for someone else looking for followers.  Or, I run across an invitation on a weblog that I am visiting.  I guess that may fall somewhere into your rule # 4.  People do not necessarily want non \"real\" friends to follow them and they are not looking to make new ones.<br><br>I seek interesting tweets, activities, and conversations.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-09-23_17:28:03", "killed": false, "user_key": "2714d87d70cf44cfd6d887a87a0a2e8a", "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}, "9690688": {"up_voted": false, "ip": "", "has_replies": false, "message": "I never got the memo on the \"rules\". I'll do what the hell I like on Twitter and if you don't like it, don't follow me.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-09-23_17:29:09", "killed": false, "user_key": "35e156845af26eb52d00e3531c47c157", "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}, "9690689": {"up_voted": false, "ip": "", "has_replies": false, "message": "If twitter want's to build a marketable business, they should encourage<br>more participation, without rules !  I think the Pownce interface is excellent for micro blogging , you can add a link and add a good amount of content ! Twitter would be great is you could post in shorthand ! People like to express complete thoughts !  I only use twitter to add a link with content from my site but not as a tool for complete communcation !  They should add a few more features to twitter before the bird quits singing !  [ Opinion]", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-09-23_17:29:23", "killed": false, "user_key": "f220d82c6034f36ed1276bb6d97445e0", "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}, "9690690": {"up_voted": false, "ip": "", "has_replies": false, "message": "Weren't rules made to be broken, or is that just my own personal rule?  Could I borrow some of your friends Scobbie, it's amazing how many tweets you keep up with!!  You Rock!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-09-23_17:31:05", "killed": false, "user_key": "31c4380ef2dc9704409cf9221a727a5d", "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}, "9690691": {"up_voted": false, "ip": "", "has_replies": false, "message": "Good lord man, well...At least he's humble. I think?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-09-23_17:41:46", "killed": false, "user_key": "c2551c11c542ea3821b6c55a8ae370ad", "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}, "9690692": {"up_voted": false, "ip": "", "has_replies": false, "message": "But thanks for the link! :-)<br><br>My post about the Year of the Social Network is rising fast. I seem to own the weekends on TechMeme.<br><br>Of courae the weekdays belong to you and Arrington.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-09-23_17:32:59", "killed": false, "user_key": "2378b474e8eadf5da80e86c2bbc75a74", "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}, "9690693": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert,<br><br>I agree, it's a different experience for different folks, depending on how you use it. But frankly, if you've got 5,700 \"friends\" all talking at once, you can't possibly \"listen to\" all of them. I think you just like collecting all those little pixilated faces.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-09-23_17:11:20", "killed": false, "user_key": "6b1b7fb0838dc0c80f51d99ed8a3d942", "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}, "9690694": {"up_voted": false, "ip": "", "has_replies": false, "message": "Rules are made to be broken, if your followers don't like it they should stop following you... The guy who said you pushed other tweets off the page, probably only has 1 other person he follows, you don't tweet as much as others.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-09-23_17:17:05", "killed": false, "user_key": "d42b25bd26dba2d750b8f1484eba8519", "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}, "9690695": {"up_voted": false, "ip": "", "has_replies": false, "message": "Don't blog about how you use Twitter. Wasn't that a rule?<br><br>I like how you keep breaking those 'rules'. There are many ways we can use the technology we're offered. We do as we please with it. I like to follow a lot of people too. Gives me a buzz and an alternative way of staying informed, instead of looking for news myself.<br><br>Keep shaking the tree Robert.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-09-23_17:05:11", "killed": false, "user_key": "e3d8c4a59408472c0934f53464bb52e7", "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}, "9690696": {"up_voted": false, "ip": "", "has_replies": false, "message": "I don't get why people complain about others tweets, there is always the leave button.<br><br>Oh and scobble you don't follow EVERY one who follows you, last I checked you weren't following me :-)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-09-23_17:06:12", "killed": false, "user_key": "894f2d57fa62ce7598a49fb6d77a6953", "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}, "9690697": {"up_voted": false, "ip": "", "has_replies": false, "message": "wow. I do understand your reasons for breaking the rules, but I could not be all the time browsing all the twits (I read them most of the time on my handheld, and  also manage 493 feed subscriptions). Information bulimia?<br><br>:-)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-09-23_17:08:11", "killed": false, "user_key": "2e5ec2665271d25de99b7d7430e9d301", "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}, "9690698": {"up_voted": false, "ip": "", "has_replies": false, "message": "I break most of these rules. I'd don't follow more than 300 people - just anyone who follows me and anybody else I find interesting..<br><br>Who says that there's any rules on Twitter? I've live twittered a rugby match to the chagrin of my followers without notice. Imagine a tweet every 2 mins from me pop up onto your screen without asking for it :)<br><br>Granted there are probably conventions, but no rules. If you piss someone off, they'll prob just unsub ya.<br><br>I say break all the rules and have a good time doing it. As long as someone is interesting and makes me think - I'll tune in. That's the only rule of Twitter  or Jaiku that I see.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-09-23_17:08:57", "killed": false, "user_key": "3a82c9cde41e2bb976b26073fbf2d4d5", "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}, "9690699": {"up_voted": false, "ip": "", "has_replies": false, "message": "Who made up these rules anyway? I think I've broken all of them. I had one friend of several years unfollow me the other day. She wrote a gracious direct msg. saying she still loved me, but my tweets were clogging up her page, and she would continue to be connected to me on other social networks. At least she was thoughtful enough to tell me why she was unfollowing me. (I would not expect that from someone who was not an actual offline friend as well.) I love the spontaneous use of Twitter for group discussions and the \"replies\" function. Let's keep pushing the envelope.:-)<br><br>~Cathryn Hrudicka, Chief Imagination Officer, Creative Sage(tm)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-09-23_17:10:50", "killed": false, "user_key": "7fe40be0bd642552a57444741828040c", "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}, "9690700": {"up_voted": false, "ip": "", "has_replies": false, "message": "I break every rule too! Don't feel bad Robert! See ya tomorrow!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-09-23_17:00:23", "killed": false, "user_key": "05b723b3121d655df9e0d4cbbe77ea7f", "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}, "9690701": {"up_voted": false, "ip": "", "has_replies": false, "message": "I disagree. There is 1 rule of Twitter: Do whatever you want and if people don't like it they can stop following you.<br><br>I am seriously tired about random bitching about other people's web habits.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-09-23_17:00:32", "killed": false, "user_key": "7622884e94de705a167e5eeec484f57d", "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}, "9690702": {"up_voted": false, "ip": "", "has_replies": false, "message": "I just don't agree.<br>I find that the coolest thing of Twitter is that there aren't rules. There are only ways of using it, and anyone can use it the way he/she wants, or even find out a new use for Twitter.<br>Some say you mustn't use Twitter as a huge public im.<br>I ask: who said so?<br>Some say you mustn't use Twitter to say \"Good morning\" every day. I don't do that, but I ask: who said so?<br>If some of my follwings do something I don't find nice or funny or \"followeable\", then I just un-follow him, that's all.<br>Maybe you just wrote this based on what they told you, but believe me, people just make too many rules.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-09-23_18:01:25", "killed": false, "user_key": "064fdff43404437faf16d69f053bb55c", "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}, "9690703": {"up_voted": false, "ip": "", "has_replies": false, "message": "If you really want to post text beyond the 140 character limit in Twitter, check this Firefox extension which lets you do that - <a href=\"http://shorttext.com/twitzer.aspx\" rel=\"nofollow\">http://shorttext.com/twitzer.aspx</a>", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-03-21_11:23:17", "killed": false, "user_key": "a417f7f4a6f44642a19cadeb1a44b753", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9690704": {"up_voted": false, "ip": "", "has_replies": false, "message": "Well I loved the Rule #4!  What do you thing Robert?  You tihnk all of us have 300 and more peole that we follow?  Not all of us are as \"popular\" as you are.  300!  Ha!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-09-23_18:42:45", "killed": false, "user_key": "ef6cf001ac809cf9a65f0c6c4e1fcdf7", "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}, "9690705": {"up_voted": false, "ip": "", "has_replies": false, "message": "I think you\u2019re doing just fine and goog.I don\u2019t pay attention to unwritten rules.If I\u2019m suppose to follow them, then they should be made official and written down", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-09-24_13:15:53", "killed": false, "user_key": "25908fad07a930db8ee2931da5b37b9d", "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}, "9690706": {"up_voted": false, "ip": "", "has_replies": false, "message": "i love beein with you here truely i was told by a frien of mine that here is the better place for me to serch for a life partner", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-09-24_13:18:48", "killed": false, "user_key": "25908fad07a930db8ee2931da5b37b9d", "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}, "9690707": {"up_voted": false, "ip": "", "has_replies": false, "message": "Oh, my sides hurt!<br><br>I almost signed up for twitter just so I could tweak you with some tweets, but I figure why torgue when I can just nag you about not even answering Facebook mail.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-09-24_13:46:55", "killed": false, "user_key": "d3c4cdb15c832cfc746367a033b0d356", "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}, "9690708": {"up_voted": false, "ip": "", "has_replies": false, "message": "Oh and just in case you didn't see my reply to <a href=\"http://twitter.com/Scobleizer/statuses/289603202\" rel=\"nofollow\">http://twitter.com/Scobleizer/statuses/289603202</a><br><br>What's rss reading like these days, while holding Milan? Learning Google Reader yet? I don't suppose he's saying \"jjjjjkk\" :-P<br><a href=\"http://twitter.com/samuelwells/statuses/289665642\" rel=\"nofollow\">http://twitter.com/samuelwells/statuses/289665642</a>", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-09-24_07:13:57", "killed": false, "user_key": "20324bc263e398c8d5200da70dbdc0c1", "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}, "9690709": {"up_voted": false, "ip": "", "has_replies": false, "message": "The only rule that I don't break is the follow more that x number of people. I do add almost everyone that follows me as long as I can see that they are actually interested in what I say, as opposed to adding me so that I will visit their dumb website. Twitter is so fun for people like us because we do break the rules. Next time I see any twitter people in real life I can just start the conversation because we already know the boring stuff about each other.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-09-23_23:45:35", "killed": false, "user_key": "9c9bbbf2935a01d2c3513b04f95afd29", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9690710": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert, I didn't see any rule about spreading silly rumours... maybe that rule mainly applies to me. :-D", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-09-23_20:19:37", "killed": false, "user_key": "0c463309358f69cf57395f0020ba25d1", "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}, "9690711": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert, Tweet as you will. People can always tune you out. (Oh, wait. That's been said here.) Feels weird when you're trying to be obstreperous and radical and have everyone agrees with you. Are you dumping dissenters? Or are you losing your edge?)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-09-23_20:23:10", "killed": false, "user_key": "c2ec17b9df58d5843b147cf69deef262", "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}, "9690712": {"up_voted": false, "ip": "", "has_replies": false, "message": "I follow Teresa Boardman and Ines.<br>Breaking the rules is a good thing.<br>kk", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-12-28_22:54:37", "killed": false, "user_key": "b037ae1d6fbf1e64df354394d9b25f86", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9690713": {"up_voted": false, "ip": "", "has_replies": false, "message": "If nobody broke rule #7, I actually don't think Twitter would be successful.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-09-29_15:10:11", "killed": false, "user_key": "3e63c03712bfe4c4256ebde759d5e6da", "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}, "9690714": {"up_voted": false, "ip": "", "has_replies": false, "message": "alicia: <a href=\"http://www.twitter.com/scobleizer\" rel=\"nofollow\">http://www.twitter.com/scobleizer</a>", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-09-28_15:58:09", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9690715": {"up_voted": false, "ip": "", "has_replies": false, "message": "so, uh, is there a link to your twitter account?? i wanted to read. :)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-09-27_20:52:03", "killed": false, "user_key": "a52488511a3a75b8a4d5ed458c723bc0", "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}, "9690716": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert,<br><br>Thanks for the list... which came in handy this week as I tried to frame Twittiquette into a public presentation on the Los Angeles Fire Department's <a HREF=\"http://twitter.com/LAFD\" rel=\"nofollow\">use of the microblogging platform</a>.<br><br><br>Respectfully Yours in Safety and Service,<br><br>Brian Humphrey<br>Firefighter/Specialist<br>Public Service Officer<br>Los Angeles Fire Department", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-09-27_11:42:38", "killed": false, "user_key": "581cef73d727e6019d731afd382acb6f", "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}, "9690717": {"up_voted": false, "ip": "", "has_replies": false, "message": "Forget the rules! I was going to use the other F word there. If people don't like it, they can stop following you. Plain and simple. These people are just whiners. Similar to when people complain about something they didn't like on TV. As far as I recall TVs still have an off switch. Use it people!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-09-26_00:32:36", "killed": false, "user_key": "df679bd3d287a21d5ed6020bae384e17", "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}, "9690718": {"up_voted": false, "ip": "", "has_replies": false, "message": "I am following you on Twitter and your rule breaking isn't bothering me that much.  I won't worry about the criticism.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-09-25_23:34:29", "killed": false, "user_key": "6abeeed61b33eb108d781d1d6c649886", "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}, "9690719": {"up_voted": false, "ip": "", "has_replies": false, "message": "I agree that you should only follow real friends. But in my case I follow people who brings me good information (like you and your links). Isn\u00b4t that valid too?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-09-25_14:26:25", "killed": false, "user_key": "c03b5f168b481ee5b04207edaeb13c6c", "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}, "9690720": {"up_voted": false, "ip": "", "has_replies": false, "message": "I think you're doing just fine. I don't pay attention to unwritten rules. If I'm suppose to follow them, then they should be made official and written down.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-09-24_12:40:33", "killed": false, "user_key": "a794f88bd39621d0f0a7dea42ccdc255", "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}, "9690721": {"up_voted": false, "ip": "", "has_replies": false, "message": "Twitter is a rushing river of brevities and links. Blogs are stagnant islands of prolixities.<br><br>heh", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-09-24_11:19:46", "killed": false, "user_key": "51ce059c95f8a33f1950b15a28afb817", "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}, "9690722": {"up_voted": false, "ip": "", "has_replies": false, "message": "I don't know where you found these spurious \"rules of Twitter\" but I don't believe in any of them.<br><br>You know many people migrated to Twitter because of you, during the Mean Kids debacle.<br><br>One rule I do believe in is don't exclusively or primarily link to your own blog posts. Don't use Twitter as a free ad medium to drive traffic to an ad infested web site.<br><br>Interact with others on Twitter, as much as possible.<br><br>I love your tweets and your genuine care for others, even Z Listers like me. I agree with what you state in this post.<br><br>:^)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-09-24_11:18:38", "killed": false, "user_key": "51ce059c95f8a33f1950b15a28afb817", "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}, "9690723": {"up_voted": false, "ip": "", "has_replies": false, "message": "I feel like Twitter is dying, regardless of the rules. If I were going to \"follow\" such unwritten edicts, I might as well just text my friends. The whole point of social media tools is to socialize on a larger scale than traditional methods allow.<br><br>My only lament is that the more people I follow, the more people's updates I lose in the cacophony. Sometimes I just end up keyword searching through twittersearch/troll/whatever, although those sites seem spotty on returns.<br><br>I guess it'll stay good 'til the timeshare people get on it.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-09-24_08:43:55", "killed": false, "user_key": "e3ab2d29158988dddaf497b19c92021e", "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}, "9690724": {"up_voted": false, "ip": "", "has_replies": false, "message": "And there's always my favorite, which is \"ignore Twitter altogether\".  It's amazing how well I can follow it!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-09-24_09:04:27", "killed": false, "user_key": "29a430f78330d90ae4d6adb90157365a", "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}, "9690725": {"up_voted": false, "ip": "", "has_replies": false, "message": "There is only one rule of Twitter. Don't talk about Twitter.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-09-24_03:58:56", "killed": false, "user_key": "ce83a8e239c0cfce3488d3fec4d5d8de", "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}, "9690726": {"up_voted": false, "ip": "", "has_replies": false, "message": "I honestly cannot see the point of Twitter. It seems to me that the amount of attention you have to give the service far outweighs any benefits.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-09-24_01:54:37", "killed": false, "user_key": "5fea64815467f4a37f026aa0c2e68ad6", "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}, "9690727": {"up_voted": false, "ip": "", "has_replies": false, "message": "If there's one thing that pisses me off more than anything else, it's the self-proclaimed tech gurus who profess to have all the answers in the so-called Web 2.0 world.<br><br>Popular websites go by the wayside daily. Tech books are obsolete nearly as soon as they're published, and the communications paradigms shift like quicksand.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-09-23_23:49:54", "killed": false, "user_key": "4c67ae7dbcf57f96a2e6a7fa73e0d6c4", "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}, "9690728": {"up_voted": false, "ip": "", "has_replies": false, "message": "What the hexx is twiter???????????????", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-09-23_23:19:14", "killed": false, "user_key": "19338a4a4699846c1c78561f9f2b8ec0", "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}, "9690729": {"up_voted": false, "ip": "", "has_replies": false, "message": "I wish you'd break the tinyURL rule and try <a href=\"http://rwurl.com\" rel=\"nofollow\">http://rwurl.com</a> instead. Pick your own shortlinks lets you max out your characters, and track your clickthrough volume for maximum popularity gloating - rwurl was made to complement your tweets.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-09-23_23:37:54", "killed": false, "user_key": "dcf810abcc6016d162504556082f5c3f", "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}, "9690730": {"up_voted": false, "ip": "", "has_replies": false, "message": "Guy Kawasaki might be out twittering you... Keep sending all those sweet tweets... With sms I can stand at the water cooler all day.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-09-23_22:58:20", "killed": false, "user_key": "f18a3ff7d8738ac2f32784570ff1c63c", "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}, "9690731": {"up_voted": false, "ip": "", "has_replies": false, "message": "Yeah, I break all these rules, too, and the thing is constantly saying to me WHOAH THAT WAS A BIG UPDATE ! Next time stick to 140!<br><br>But..You have to break the rules or it wouldn't work as well.<br><br>I realize we're supposed to get into the Zen of \"What are you doing *right now*?\" and be all \"be here now\" and stuff, but the reality is, often when you're Twittering, you're sitting in front of your computer,if you don't have a cell phone to twitter with like me, or, you're sitting in a waiting room waiting for an airplane or something, like a lot of the people who Twitter on down time. So...what are you going to say, \"Um, I'm here at my computer folks\". Of COURSE you have to say \"What do you think of this blog, that movie, this new camera, etc.\"<br><br>I'm not for them changing the 140 thing just because I think it's good to get a frame and a limit to try to keep as many convos going at once in the page view. But I wish it threaded downwards like jaiku does, except jaiki being like that never makes me go over to jaiku, go know.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-09-23_23:00:33", "killed": false, "user_key": "b1088dbd877c2d7d33e6b3b63ee38081", "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}, "9690732": {"up_voted": false, "ip": "", "has_replies": false, "message": "I love your book.  I am trying to get everyone in my company (<a href=\"http://nolo.com\" rel=\"nofollow\">nolo.com</a>) to buy it.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-09-24_14:18:17", "killed": false, "user_key": "55264fe116fc21717970aa2e345ce0d6", "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}, "13232749": {"up_voted": false, "ip": "", "has_replies": false, "message": "Well, if what I'm \"doing\" is \"thinking\", then we don't have to worry about that issue. I think we could issue 10 interconnected \"tweets\" as, hmmm, our preferred ethical commandments? As serial parables? Some bible guy on PBS tried to make the point that his god was very concise. So are Haiku. There we go! This system could be a concentrating force, an ultimate response to Kant, an Einsteinian verbal equation challenge. I'll cease and desist here, as I save my own words (spontaneosly spewed here) for a real text file :)<br>PS I've not yet taken this very dangerous plunge into the abyss of ADD noise. Not sure of my swimming technique.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2009-07-23_16:47:15", "killed": false, "user_key": "aitengri", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "4 months ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9690734": {"up_voted": false, "ip": "", "has_replies": false, "message": "Do these rules also apply to Pownce and Jaiku?? Who came up with the figure - 140?? I would really like to know!!<br><br>Guilty at the same time, since even I break these rules!!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-09-23_20:46:30", "killed": false, "user_key": "a2f334e6291a30f36ae802af3a6db51d", "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}, "9690735": {"up_voted": false, "ip": "", "has_replies": false, "message": "I break many of those myself, although in general I try to keep my messages short.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-09-23_20:01:35", "killed": false, "user_key": "e53a3f431f6ad59ce7e042fd15700d8b", "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}, "9690736": {"up_voted": false, "ip": "", "has_replies": false, "message": "Just nitpicking, but SMS can actually handle 160 character messages - I assume twitter just limits their messages to 140 to make sure there are enough spare characters for your username, a colon, and a space in the SMS.<br><br>So you could probably get away with 148 characters.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-09-23_19:46:30", "killed": false, "user_key": "498823cfb97449e314fbea29e2026b15", "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}, "9690737": {"up_voted": false, "ip": "", "has_replies": false, "message": "A lot of us use it as a chat room - that should piss off a whole lot of people.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-12-28_22:30:26", "killed": false, "user_key": "miamism", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9690738": {"up_voted": false, "ip": "", "has_replies": false, "message": "I started following you on twitter a couple of weeks ago.  For the most part I find it interesting.  I have maybe 90 followrs and am following 75 or so. . . I guess if your flagrant violation of the rules ticked me off I would stop following you. :)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-12-28_22:28:05", "killed": false, "user_key": "5ae9cb90e1e24ecb017ffaaed94cf5a1", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9690739": {"up_voted": false, "ip": "", "has_replies": false, "message": "On an evening I often get a minute by minute report of some gut commuting accross melbourne (i'm in uk) by public transport -- he often ends up quite cross - its hilarious! Look forward to it. I use twitter as a form of entertainment, information seeking and to show people the pictures I make.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-05-25_13:58:49", "killed": false, "user_key": "24df4aa5b66dce839b14baaf97272e9a", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9690740": {"up_voted": false, "ip": "", "has_replies": false, "message": "I love your take on rules.  I have always said that rules were made for people who need them and I just don't need them! lol...", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-09-27_17:20:20", "killed": false, "user_key": "LaurieManny", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9690741": {"up_voted": false, "ip": "", "has_replies": false, "message": "Well done.  I haven't come across these rules, but I do see you have to break these rules to get the real value out of it.<br><br>I am very interested in understanding how you add the followers who follow you.  Have you figured out a way to get past the pages and pages of followers?  I see you can't get past 20 pages on the web.<br><br><a href=\"http://www.twitter.com/joeloleson\" rel=\"nofollow\">http://www.twitter.com/joeloleson</a><br><br>Joel<br>Following you on twitter.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-10-14_15:23:19", "killed": false, "user_key": "e16b487a9acfbb54b4aef6a5879e5dca", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9690742": {"up_voted": false, "ip": "", "has_replies": false, "message": "Wonderful, now I feel better about breakign these rules. I actually thought the 140 character limit was an absolute, that it would cut me off if I went over...Now that I know I think I might go way overboard just to be an ass.<br><br>Also, I like Kelly's comment (second one down)... this is generally how I live my life too.<br><br>P.S. <a href=\"http://twitter.com/jennie_z\" rel=\"nofollow\">http://twitter.com/jennie_z</a> :)<br>(I had to plug two sites, sorry)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-10-24_08:05:53", "killed": false, "user_key": "6aed19beeb753928496b8c2d86be709c", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9690743": {"up_voted": false, "ip": "", "has_replies": false, "message": "This made me smile. Thank you Mr. Scoble.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-12-20_22:48:54", "killed": false, "user_key": "c3b551d900006ec2fb08f7d4f488384c", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "12 months ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9690744": {"up_voted": false, "ip": "", "has_replies": false, "message": "Love this post!! I agree.  I don't understand why people make up there own rules.  Twitter is supposed to be a network without rules and of course there seem to be rules that came out of everything!!<br><br>Now I am off to write a 140+ post! :)<br><br><br>Serena Carcasole<br><a href=\"http://www.vbsondemand.com\" rel=\"nofollow\">www.vbsondemand.com</a><br>Your 1STOP Business Service Shop<br>Outsource your way to success!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2009-01-12_00:15:38", "killed": false, "user_key": "e640f12c8a1ebf1ad87d17e8c5d66ece", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "11 months ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9690745": {"up_voted": false, "ip": "", "has_replies": false, "message": "I had never heard of the 300 rule before - makes sense to me.  As my numbers started going up, I was wondering how I was supposed to track everyone.  I'm following someone who has 42,000 people in his network - even Tweetdeck won't solve that sensory overload.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2009-02-22_12:40:49", "killed": false, "user_key": "ce7ebcefcaad70ac24d2df7d0d8825ed", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "9 months ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9690746": {"up_voted": false, "ip": "", "has_replies": false, "message": "I have to say this..this is the best techy blog I have come across!.and I just love your rebel ideas coz they are so similar to mine..I break all the tweet rules too!..I just am so pissed at the 2k limit on people I can follow!!!<br><br>Keep posting! I love it! I have also RT this article ..its deserves it!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2009-02-05_09:17:49", "killed": false, "user_key": "0cab4bf72c0933d199091a89a0976f11", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "10 months ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9690747": {"up_voted": false, "ip": "", "has_replies": false, "message": "I have to say this..this is the best techy blog I have come across!.and I just love your rebel ideas coz they are so similar to mine..I break all the tweet rules too!..I just am so pissed at the 2k limit on people I can follow!!!<br><br>Keep posting! I love it! I have also RT this article ..its deserves it!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2009-02-10_21:21:20", "killed": false, "user_key": "7afb998c2868742f08ffbc6c5830eb1c", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "10 months ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9690733": {"up_voted": false, "ip": "", "has_replies": false, "message": "I enjoy your Twitter ramblings (and I hope you enjoy mine) - it's a great tool and different people use it for different purposes.<br><br>As far as rules are concerned: I don't remember having to click-accept any 7 page legal document when signed up for Twitter - so as far as I'm concerned there are no rules... :)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-09-23_20:58:54", "killed": false, "user_key": "e3a50c9afe9e1b41c4d7c094b7ca3442", "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}, "16937070": {"up_voted": false, "ip": "", "has_replies": false, "message": "Right on Robert! Good article...", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2009-09-19_20:46:40", "killed": false, "user_key": "malessa", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "2 months ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "15555754": {"up_voted": false, "ip": "", "has_replies": false, "message": "I know the Twitter but i don't know it will use for...", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2009-08-28_23:23:00", "killed": false, "user_key": "ee622f056f368dab1d5e55a1bb57e5b9", "has_been_anonymized": true, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 months ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "15536338": {"up_voted": false, "ip": "", "has_replies": false, "message": "Bravo - break on, dude.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2009-08-28_14:02:32", "killed": false, "user_key": "8336c1f4604c47b075a7b16c90fb3373", "has_been_anonymized": true, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 months ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "16850648": {"up_voted": false, "ip": "", "has_replies": false, "message": "Good lord man, <br><br>well...At least he's humble. I think?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2009-09-17_21:03:01", "killed": false, "user_key": "bookmarkth", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "3 months ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "17222379": {"up_voted": false, "ip": "", "has_replies": false, "message": "Long time ago, i never use the twitter and i don't like the twitter's  rules.<br><br>Maybe , I have to use it bacause alot of people talk to its.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2009-09-23_11:10:33", "killed": false, "user_key": "79e865374b7373a641557e57b687b2ae", "has_been_anonymized": true, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 months ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "16704253": {"up_voted": false, "ip": "", "has_replies": false, "message": "A lot of user use it as a chat room.<br><br>That should piss off a whole lot of people.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2009-09-16_06:29:02", "killed": false, "user_key": "diggma", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "3 months ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "11681031": {"up_voted": false, "ip": "", "has_replies": false, "message": "A lot of user use it as a chat room.<br><br>That should piss off a whole lot of people.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2009-06-24_10:13:42", "killed": false, "user_key": "94cde4b3c21de07d7344462e92b7d06b", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "5 months ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "16008458": {"up_voted": false, "ip": "", "has_replies": false, "message": "Great post, really enjoyed it!  I do think that there's always a time and a place for proper Twitter etiquette -- but you don't have to follow them ALL the time (I know my table manners aren't as good as they could be when I'm eating at home, alone).  Some of the rules -- like your #7, where people feel they always need to answer the question \"what are you doing\" -- is plain silly, and probably meant to be broken.  I recently posted a few of my own \"rules\" for newbie Twitterers -- but I cited you as a good example of someone who successfully breaks the rules.  Check it out here, if you like: <a href=\"http://www.thewritersforhire.com/blog/social-media/twitter-etiquette-the-dos-and-donts/\" rel=\"nofollow\">http://www.thewritersforhire.com/blog/social-me...</a><br><br>Thanks again for the good post!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2009-09-04_22:24:54", "killed": false, "user_key": "658a3d25f0de94ce16feaa6515ccb7b2", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 months ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "15536417": {"up_voted": false, "ip": "", "has_replies": false, "message": "so, uh, is there a link to your twitter account?? i wanted to read. :)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2009-08-28_14:04:35", "killed": false, "user_key": "8e946e2eb1fa4a0a558aaa15b15299d2", "has_been_anonymized": true, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 months ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "14510376": {"up_voted": false, "ip": "", "has_replies": false, "message": "Nice and informative article. lot of information about it. Very interesting for students like me. i found lot of interesting and important articles in this website.<a href=\"http://www.motherofgroomdress.net\" rel=\"nofollow\">groom dress</a>", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2009-08-09_04:08:40", "killed": false, "user_key": "groomdress", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "4 months ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9690674": {"up_voted": false, "ip": "", "has_replies": false, "message": "Okay, okay, two more:<br><br>3b Stop telling us \"Really, I'm gonna stop Twittering now\". NO YOU'RE NOT!<br><br>4b. If more than 2 of every 5 of your Tweets contains the word \"Twitter\" in it, it's time to sign off for a while (then see above).", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-09-23_18:09:32", "killed": false, "user_key": "1453239087125522a1c55ea6f9e1e733", "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}, "15524741": {"up_voted": false, "ip": "", "has_replies": false, "message": "I don't get why people complain about others tweets, there is always the leave button.<br><br>Oh and scobble you don't follow EVERY one who follows you, last I checked you weren't following me :-)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2009-08-28_09:52:16", "killed": false, "user_key": "smartkub", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "3 months ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "16850856": {"up_voted": false, "ip": "", "has_replies": false, "message": "Good lord man, well...At least he's humble. I think?<br><br><a href=\"http://www.bookmarkth.com/\" rel=\"nofollow\">\u0e42\u0e1b\u0e23\u0e42\u0e21\u0e17\u0e40\u0e27\u0e47\u0e1a\u0e1f\u0e23\u0e35</a>", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2009-09-17_21:05:31", "killed": false, "user_key": "bookmarkth", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "3 months ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "16704937": {"up_voted": false, "ip": "", "has_replies": false, "message": "I never got the memo on the \"rules\". I'll do what the hell I like on Twitter and if you don't like it, don't follow me.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2009-09-16_07:11:56", "killed": false, "user_key": "diggma", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "3 months ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "20172204": {"up_voted": false, "ip": "", "has_replies": false, "message": "I agree, it's a different experience for different folks, depending on how you use it. But frankly, if you've got 5,700 \"friends\" all talking at once, you can't possibly \"listen to\" all of them. I think you just like collecting all those little pixilated faces.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2009-10-15_21:32:34", "killed": false, "user_key": "ndesigns", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "2 months ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "16758704": {"up_voted": false, "ip": "", "has_replies": false, "message": "breaking rules? <br>There are rules?  <br><br>If you have a second, take a look at my \"piggyback tweet\" discussion. <br>A simple experiment, some pretty intense reactions, and your opinions are welcome. <br>I don't bruise easily :-) <br><a href=\"http://greeninkdiary.blogspot.com/2009/09/twitter-product-listing-hijacking-or.html\" rel=\"nofollow\">http://greeninkdiary.blogspot.com/2009/09/twitt...</a><br>and be sure to vote and leave a comment. <br>cheers", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2009-09-16_13:48:17", "killed": false, "user_key": "vincej", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "3 months ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "16704982": {"up_voted": false, "ip": "", "has_replies": false, "message": "I break every rule too! Don't feel bad Robert! See ya tomorrow!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2009-09-16_07:14:37", "killed": false, "user_key": "diggma", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "3 months ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}}, "integration": {"receiver_url": "", "theme": 4, "reply_position": true, "disqus_logo": false}, "timer": {"timer_url": "http://localhost:8005", "thread_id": "18354935", "user_id": "anonymous", "forum_id": "125200", "hash": -308723851521154219}, "thread": {"total_posts": 0, "paginate": false, "per_page": 0, "slug": "the_10_rules_of_twitter_and_how_i_break_every_one", "num_pages": 1, "days_alive": 0, "realtime_paused": true, "id": 18354935, "num_posts": 98, "closed": true, "queued": false, "killed": false}, "reactions_limit": 10, "context": {"show_reply": false, "use_fb_connect": true, "forum_facebook_key": "faaf467d0f47abde553c3b8e0e1b3570", "use_yahoo": false, "subscribed": false, "use_twitter_signin": true, "use_openid": false, "realtime_speed": 5000}, "reactions_start": 0, "settings": {"debug": false, "disqus_url": "http://disqus.com", "media_url": "http://media.disqus.com"}, "media_url": "http://media.disqus.com"};
	/* */ this.jsonData.cookie_messages = {"user_created": null, "post_has_profile": null, "post_twitter": null, "post_not_approved": null}; this.jsonData.session = {"url": null, "name": null, "email": null}; /* */

	
	this.curPageId = 'dsq-comments';

	this.frames = {};
};

var disqus_popup_reference = null;

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



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

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

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

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

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

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

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

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

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





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



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

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

	this._lastHash = null;

	this._accumMsg = '';

	this._lastSeqno = 0;

	this.MAX_DATA_LEN	= 1024;

	this.WAIT_TIME		= 10;

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

};

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

FragmentPacket.prototype.log = function(msg) {



};

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

		hash = this.reader.name;
	} else {

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

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

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

		this._lastSeqno = seqno;

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

				this._accumMsg = '';

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

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

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

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

};

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

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

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

	if (packetNum === 0) {

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

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

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

	if (num_packets === packetNum) {

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

	this._lastSeqno++;

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

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

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

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

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

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


	this.receiverId = receiverId;
};

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

	var listener = function(e) {

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


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

		that.receiveCallback(data);
	};

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

PostMessagePacket.prototype.send = function(msg) {



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


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

	var packet;
	if (!msg) {

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

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

var JsonRpc = function() {

	this.ids = {};

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

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

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

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

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

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

				json = 'null';
				break;
		}

		return json;
	};

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

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

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

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

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

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

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

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

		send_func(this.objectToJSON(request));

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

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


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



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


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


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

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

	this.packetHandler = null;


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


	var _createReceiverForFragmentPacket = function() {

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

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

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

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

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

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

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

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

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

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

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

			that._ready = true;
		};

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

		that.receiver.onload = receiver_onload;







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

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

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

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


	var _createReceiverForPostMessage = function() {

		var receiver_onload = function() {

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

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


		ParentMessenger['_receiver_onload_' + receiverId] = receiver_onload;

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

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

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

};

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

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

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

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

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

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

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

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

	var sendFunc = function(msg) {

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


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


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

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

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

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

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

		if (msg.username) {

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	var handleSessionData = function(session) {

		var forum_url = Dsq.jsonData.forum.url;




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

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

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


	






Dsq.Themes = {};

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



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

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

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

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

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

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

		
		

		return html;

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

		html += Dsq.Templates.pagination();

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

		html += Dsq.Templates.reactions();

		
			html += Dsq.Templates.trackbacks();
		


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

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

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

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

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

		return html;
	};

	this.postBox = function(post_id, use_fallback_iframe) {


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

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


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

		var _requestUserInfo = function() {
			var html;



			var user_has_email = false;

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

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

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


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



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

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




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

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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



	
	this.chooseSubscribe = function(post_id) {

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

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

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

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

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

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

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

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

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

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

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

		d = auth_data;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

				body.appendChild(edit_area);

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

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

		Dsq.Templates.toggleEdit(post_id);
	};

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

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

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

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

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

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

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

		}

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

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

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

		var extra_params = '';

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

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


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

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

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

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




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

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

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

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

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

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

		Dsq.Templates.setLoadingButton(false);
	};

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

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




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

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

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

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

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

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


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


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

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


/**
 * Dsq.Urls: URL paths
 */
Dsq.Urls = new function() {
	this.LOGIN = '/profile/login/';
	this.LOGOUT = '/logout/';
	this.REPLY = 'http://scobleizer.disqus.com/the_10_rules_of_twitter_and_how_i_break_every_one/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">98</span> Comments\
	 &nbsp;\
	 <span class="dsq-item-feed">\
	 <a href="http://scobleizer.disqus.com/the_10_rules_of_twitter_and_how_i_break_every_one/latest.rss"><img src="http://media.disqus.com/images/embed/bullet-feed.png"></a>\
	 </span>\
	 </h3>\
	 <div id="dsq-options" style="margin:15px 0">\
	 <span class="dsq-item-sort">\
	 Sort by\
	 <select id="dsq-sort-select" onchange="Dsq.Thread.sortBy(this.value);">\
	 <option value="hot" selected="selected">Popular now</option>\
	 <option value="best" >Best Rating</option>\
	 <option value="newest" >Newest first</option>\
	 <option value="oldest" >Oldest first</option>\
	 </select>\
	 &nbsp;\
	 </span>\
	 <span class="dsq-item-cp"><a href="http://scobleizer.disqus.com/the_10_rules_of_twitter_and_how_i_break_every_one/">Community Page</a>&nbsp;&nbsp;&nbsp;</span>\
	 <span class="dsq-item-subscribe">\
	 <img src="http://media.disqus.com/images/embed/email.png" style="width:12px;height:12px;vertical-align:middle">\
	 <span id="dsq-subscribe">\
	 <a href="#" onclick="Dsq.Thread.subscribe(1); return false">Subscribe by email</a>\
	 </span>\
	 </span>\
	 </div>\
	 <div id="dsq-alerts">\
	 <p>Comments for this page are closed.</p>\
	 </div>\
		';

		

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

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

		
			html += Dsq.Templates.authPost();
		

		html += Dsq.Templates.reactions();

		
			html += Dsq.Templates.trackbacks();
		

		return html;
	};

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

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

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

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

		if(typeof DsqLocal != 'undefined' && DsqLocal.trackback_url && DsqLocal.trackbacks) {
			var trackbacks = DsqLocal.trackbacks;
			var trackback_url = DsqLocal.trackback_url;
		} else {
			var trackbacks = [
			
			
			];
			var trackback_url = 'http://scobleizer.disqus.com/the_10_rules_of_twitter_and_how_i_break_every_one/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:18354935" onclick="Dsq.Popup.login(); return false">Login</a> \
								 \
									&nbsp;or&nbsp; \
									<img class="fb_login_image" src="http://static.ak.fbcdn.net/images/fbconnect/login-buttons/connect_light_small_short.gif" alt="Facebook Connect"/> \
									<a href="#" onclick="FB.Connect.requireSession(DisqusFbcParentController.onLogin); return false;">Connect</a> \
								 \
								&nbsp;or&nbsp; \
									<img src="http://media.disqus.com/images/twitter-signin-icon.png" alt="" /> \
									<a href="#" onclick="Dsq.Twitter.startTwitterConnect(); return false">Sign-in</a> \
								 \
								 \
							 \
						</div> \
					</div> \
					<div id="dsq-reply-' + post_id + '"></div> \
			</div> \
		';
	};

	//
	// Iframes
	//

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

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

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

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

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

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

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

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

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

	//
	// Menus
	//

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

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

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

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

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

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


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

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

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

	//
	// Popups
	//

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

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

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

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

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

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

		return this._popupGeneric(content);
	};

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

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

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

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

		return this._popupGeneric(content);
	};

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

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

		bodyHtml = message;

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

		return this._popupGeneric(content);
	};

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

	//
	// Actions
	//

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

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

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

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

		Dsq.Popup.popModal(message, title);

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

	//
	// Media
	//

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

	//
	// Callbacks
	//

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

		if(!openedMenu) {
			return;
		}

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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



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

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

};
// Dsq.Post


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

	
	this.adminIsOn = false;

	
	
	

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

			Dsq.Utils.execScript('http://disqus.com/forums/scobleizer/subscribe.js'
				+'?status=' 	+ status
				+ '&slug='		+ 'the_10_rules_of_twitter_and_how_i_break_every_one'
				+ '&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/18354935/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-9690700">\
	 <div id="dsq-comment-header-9690700" class="dsq-comment-header">\
	 <cite id="dsq-cite-9690700" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9690700" href="http://dbrusilovsky.wordpress.com/" target="_blank" rel="nofollow">Daniel Brusilovsky</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9690700" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9690700" class="dsq-comment-message">I break every rule too! Don\'t feel bad Robert! See ya tomorrow!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9690701">\
	 <div id="dsq-comment-header-9690701" class="dsq-comment-header">\
	 <cite id="dsq-cite-9690701" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9690701" href="http://pinkfu.com/" target="_blank" rel="nofollow">Kelly</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9690701" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9690701" class="dsq-comment-message">I disagree. There is 1 rule of Twitter: Do whatever you want and if people don\'t like it they can stop following you.<br><br>I am seriously tired about random bitching about other people\'s web habits.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9690695">\
	 <div id="dsq-comment-header-9690695" class="dsq-comment-header">\
	 <cite id="dsq-cite-9690695" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9690695" href="http://nodependenciesnologo.wordpress.com/" target="_blank" rel="nofollow">Nils</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9690695" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9690695" class="dsq-comment-message">Don\'t blog about how you use Twitter. Wasn\'t that a rule?<br><br>I like how you keep breaking those \'rules\'. There are many ways we can use the technology we\'re offered. We do as we please with it. I like to follow a lot of people too. Gives me a buzz and an alternative way of staying informed, instead of looking for news myself.<br><br>Keep shaking the tree Robert.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9690696">\
	 <div id="dsq-comment-header-9690696" class="dsq-comment-header">\
	 <cite id="dsq-cite-9690696" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9690696" href="http://1stat.us/" target="_blank" rel="nofollow">artifishall</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9690696" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9690696" class="dsq-comment-message">I don\'t get why people complain about others tweets, there is always the leave button.<br><br>Oh and scobble you don\'t follow EVERY one who follows you, last I checked you weren\'t following me :-)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9690697">\
	 <div id="dsq-comment-header-9690697" class="dsq-comment-header">\
	 <cite id="dsq-cite-9690697" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9690697" href="http://www.santiromero.com/" target="_blank" rel="nofollow">santiromero</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9690697" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9690697" class="dsq-comment-message">wow. I do understand your reasons for breaking the rules, but I could not be all the time browsing all the twits (I read them most of the time on my handheld, and  also manage 493 feed subscriptions). Information bulimia?<br><br>:-)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9690698">\
	 <div id="dsq-comment-header-9690698" class="dsq-comment-header">\
	 <cite id="dsq-cite-9690698" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9690698" href="http://www.alexiablogs.com/" target="_blank" rel="nofollow">lexia</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9690698" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9690698" class="dsq-comment-message">I break most of these rules. I\'d don\'t follow more than 300 people - just anyone who follows me and anybody else I find interesting..<br><br>Who says that there\'s any rules on Twitter? I\'ve live twittered a rugby match to the chagrin of my followers without notice. Imagine a tweet every 2 mins from me pop up onto your screen without asking for it :)<br><br>Granted there are probably conventions, but no rules. If you piss someone off, they\'ll prob just unsub ya.<br><br>I say break all the rules and have a good time doing it. As long as someone is interesting and makes me think - I\'ll tune in. That\'s the only rule of Twitter  or Jaiku that I see.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9690699">\
	 <div id="dsq-comment-header-9690699" class="dsq-comment-header">\
	 <cite id="dsq-cite-9690699" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9690699" href="http://creativesage.wordpress.com/" target="_blank" rel="nofollow">creativesage</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9690699" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9690699" class="dsq-comment-message">Who made up these rules anyway? I think I\'ve broken all of them. I had one friend of several years unfollow me the other day. She wrote a gracious direct msg. saying she still loved me, but my tweets were clogging up her page, and she would continue to be connected to me on other social networks. At least she was thoughtful enough to tell me why she was unfollowing me. (I would not expect that from someone who was not an actual offline friend as well.) I love the spontaneous use of Twitter for group discussions and the "replies" function. Let\'s keep pushing the envelope.:-)<br><br>~Cathryn Hrudicka, Chief Imagination Officer, Creative Sage(tm)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9690693">\
	 <div id="dsq-comment-header-9690693" class="dsq-comment-header">\
	 <cite id="dsq-cite-9690693" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9690693" href="http://blogs.chron.com/techblog" target="_blank" rel="nofollow">Dwight Silverman</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9690693" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9690693" class="dsq-comment-message">Robert,<br><br>I agree, it\'s a different experience for different folks, depending on how you use it. But frankly, if you\'ve got 5,700 "friends" all talking at once, you can\'t possibly "listen to" all of them. I think you just like collecting all those little pixilated faces.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9690694">\
	 <div id="dsq-comment-header-9690694" class="dsq-comment-header">\
	 <cite id="dsq-cite-9690694" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9690694" href="http://www.liamdaly.co.uk/" target="_blank" rel="nofollow">Liam</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9690694" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9690694" class="dsq-comment-message">Rules are made to be broken, if your followers don\'t like it they should stop following you... The guy who said you pushed other tweets off the page, probably only has 1 other person he follows, you don\'t tweet as much as others.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9690684">\
	 <div id="dsq-comment-header-9690684" class="dsq-comment-header">\
	 <cite id="dsq-cite-9690684" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9690684" href="http://www.erwinblom.nl/" target="_blank" rel="nofollow">erwin blom</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9690684" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9690684" class="dsq-comment-message">I say: the users decide what\'s valuable to them, not the inventers! Did you know that in Holland Twitter is much more of a thinkthank, a knowledge center, an irc 2.0 etcetera then a What Are You Doing thing? That way i posted 10.000 tweets ;)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9690687">\
	 <div id="dsq-comment-header-9690687" class="dsq-comment-header">\
	 <cite id="dsq-cite-9690687" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9690687" href="http://seeknock.blogs.com/" target="_blank" rel="nofollow">SeekGround</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9690687" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9690687" class="dsq-comment-message">Rules?  What rules?  Seriously, I prefer it when you are breaking these "rules." I have to wonder why these people follow you that complain about these things.  I particularly do not get the one about tweeting too much.  I once had a guy shout to the community that he was unfollowing me because I talked too much about my dog. I thought his comment was ungly.  Is it too hard just to unsubscribe and move on?<br><br>I stop following people for the opposite reason, that is if they have not joined the conversation in over a month.  Oh, the other main reasons that I stop following people?  If they use ugly language, talk about illegal activity, or added me on their way to adding hundreds of other people but do not leave interest tweets.  That does not mean that I shout out to the community about it though.<br><br>One thing that I personally have become more tentative about is adding other people.  When I first started using Twitter, I actively sought others to follow.  Now?  I occassionally add people when someone I know advertises for someone else looking for followers.  Or, I run across an invitation on a weblog that I am visiting.  I guess that may fall somewhere into your rule # 4.  People do not necessarily want non "real" friends to follow them and they are not looking to make new ones.<br><br>I seek interesting tweets, activities, and conversations.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9690688">\
	 <div id="dsq-comment-header-9690688" class="dsq-comment-header">\
	 <cite id="dsq-cite-9690688" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9690688" href="http://www.theconnectedworld.net/" target="_blank" rel="nofollow">David Jacobs</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9690688" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9690688" class="dsq-comment-message">I never got the memo on the "rules". I\'ll do what the hell I like on Twitter and if you don\'t like it, don\'t follow me.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9690689">\
	 <div id="dsq-comment-header-9690689" class="dsq-comment-header">\
	 <cite id="dsq-cite-9690689" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9690689" href="http://www.apple-of-my-i.com/index.php" target="_blank" rel="nofollow">marshal sandler</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9690689" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9690689" class="dsq-comment-message">If twitter want\'s to build a marketable business, they should encourage<br>more participation, without rules !  I think the Pownce interface is excellent for micro blogging , you can add a link and add a good amount of content ! Twitter would be great is you could post in shorthand ! People like to express complete thoughts !  I only use twitter to add a link with content from my site but not as a tool for complete communcation !  They should add a few more features to twitter before the bird quits singing !  [ Opinion]</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9690690">\
	 <div id="dsq-comment-header-9690690" class="dsq-comment-header">\
	 <cite id="dsq-cite-9690690" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9690690" href="http://twitter.com/AveryNevin" target="_blank" rel="nofollow">Avery Nevin</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9690690" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9690690" class="dsq-comment-message">Weren\'t rules made to be broken, or is that just my own personal rule?  Could I borrow some of your friends Scobbie, it\'s amazing how many tweets you keep up with!!  You Rock!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9690672">\
	 <div id="dsq-comment-header-9690672" class="dsq-comment-header">\
	 <cite id="dsq-cite-9690672" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9690672" href="http://scripting.wordpress.com/" target="_blank" rel="nofollow">Dave Winer</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9690672" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9690672" class="dsq-comment-message">Scoble -- I didn\'t say that was the rule!<br><br>Quite the opposite. I support you in whatever you want to do, and I break most of the rules you do, and my stock answer to people who don\'t like it is "Vote with your feet."<br><br>Please, don\'t misrepresent me, that\'s how people come to hate other people, when the case gets overstated.<br><br>(And I didn\'t say you were a monkey either, even though your post headline says I did. Ouch. I was very careful not to make my post personal.)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9690692">\
	 <div id="dsq-comment-header-9690692" class="dsq-comment-header">\
	 <cite id="dsq-cite-9690692" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9690692" href="http://scripting.wordpress.com/" target="_blank" rel="nofollow">Dave Winer</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9690692" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9690692" class="dsq-comment-message">But thanks for the link! :-)<br><br>My post about the Year of the Social Network is rising fast. I seem to own the weekends on TechMeme.<br><br>Of courae the weekdays belong to you and Arrington.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9690691">\
	 <div id="dsq-comment-header-9690691" class="dsq-comment-header">\
	 <cite id="dsq-cite-9690691" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9690691">David</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9690691" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9690691" class="dsq-comment-message">Good lord man, well...At least he\'s humble. I think?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9690685">\
	 <div id="dsq-comment-header-9690685" class="dsq-comment-header">\
	 <cite id="dsq-cite-9690685" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9690685" href="http://bomega.com/" target="_blank" rel="nofollow">Boris</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9690685" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9690685" class="dsq-comment-message">i\'m thinking two things:<br><br>1: all progress depends on the unreasonable men<br>2: if you are rude to your friends in real life and break the unwritten social rules you all agree to your friends might start avoiding you.<br><br>Breaking the rules to find out the rules is cool. Breaking them just for effect is boring and childish.<br><br>So what are you aiming for here?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9690686">\
	 <div id="dsq-comment-header-9690686" class="dsq-comment-header">\
	 <cite id="dsq-cite-9690686" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9690686" href="http://pramanam.blogspot.com/" target="_blank" rel="nofollow">nitya</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9690686" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9690686" class="dsq-comment-message">I think twitters have the right to say what they want and followers have the right to follow or not. However, in reality, things are not so black and white. Different conversations have different values to the follower and the choice shouldn\'t be an on/off switch.<br>Rather, it would be nice if the system recognized this as a need and made it possible to click on a person\'s icon (in the running stream) and minimize or fold all their conversations temporarily so they could see if there were other conversations that were missed in the flood. Especially if the conversations were (a) a long-running thread of updates from 1 user, and (b) if the thread was a dialog conversation where only a subset of the users were visible to the follower.<br>Keep the value of the discussions, change the interface to make navigating into, around or through them simpler.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9690679">\
	 <div id="dsq-comment-header-9690679" class="dsq-comment-header">\
	 <cite id="dsq-cite-9690679" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9690679" href="http://astitchintime.blogspot.com/" target="_blank" rel="nofollow">Debra Roby</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9690679" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9690679" class="dsq-comment-message">The discussion between you and creative sage (and i\'m sure others) was fascinating.  Coming home from Christine Kane\'s concert to read it was a great way to end the night.<br><br>I live-twittered Bay to Breakers, I\'ve read others twitters of events.  I think they\'re great.  I adore the conversations on twitter because they happen in real time AND publicly.  When else has that opportunity existed?<br><br>So you post lots of links.  It\'s my choice to click through or pass them up.  I\'m an adult.  I can think for myself.<br><br>And what is that follow 1 for every 10 stupid rule?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9690680">\
	 <div id="dsq-comment-header-9690680" class="dsq-comment-header">\
	 <cite id="dsq-cite-9690680" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9690680" href="http://theobstructionist.com/" target="_blank" rel="nofollow">Seth E</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9690680" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9690680" class="dsq-comment-message">Actually, Rule #8, as observed, bothers the crap out of me. Maybe it\'s because I\'m *technically* a newbie, but reciprocation--whether online or off--just seems a common courtesy. In fact, if your following 1 for every ten, and in far too many cases 1 for every 100, you\'re not having a conversation (which should also be a rule). Actually, since this list is rules most people don\'t follow anyway, here\'s two more:<br><br>1b.Don\'t Twit your latest blog post (Die Twitterfeed Die!). Okay, everyone breaks this, but at least make it, again, a ratio of 10 to 1 legit Twits.<br><br>2b. Twitter is not the forum for depressing, philosophical, existential, and post-modern musings on life, love, death, and the quandries of capitalism.<br><br>Note: I swear that last part wasn\'t a critcism of you for dropping an Adams reference last night. :-)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9690682">\
	 <div id="dsq-comment-header-9690682" class="dsq-comment-header">\
	 <cite id="dsq-cite-9690682" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9690682">David Litsky</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9690682" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9690682" class="dsq-comment-message">Robert,<br><br>You need to use Twitter the way that you see fit, and nobody should tell you how to use it. I prefer to follow my tweets through SMS so I limit who I receive SMS updates from, and it makes it a pleasurable experience for me.<br><br>David</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9690683">\
	 <div id="dsq-comment-header-9690683" class="dsq-comment-header">\
	 <cite id="dsq-cite-9690683" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9690683" href="http://seriousaboutcamo.typepad.com/" target="_blank" rel="nofollow">Clay Newton</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9690683" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9690683" class="dsq-comment-message">Wow, first, the only one i knew of was #1, and it seems more like a constraint than a rule.<br><br>The rest of these are ridiculous. Totally absurd.<br><br>I guess I pretty much break these rules every day as well.<br><br>Not a huge fan of the twittergrams, though. Do you think <a href="http://Utterz.com" rel="nofollow">Utterz.com</a> might be more effective for audio?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9690702">\
	 <div id="dsq-comment-header-9690702" class="dsq-comment-header">\
	 <cite id="dsq-cite-9690702" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9690702" href="http://marilink.blogspot.com/" target="_blank" rel="nofollow">marilink</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9690702" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9690702" class="dsq-comment-message">I just don\'t agree.<br>I find that the coolest thing of Twitter is that there aren\'t rules. There are only ways of using it, and anyone can use it the way he/she wants, or even find out a new use for Twitter.<br>Some say you mustn\'t use Twitter as a huge public im.<br>I ask: who said so?<br>Some say you mustn\'t use Twitter to say "Good morning" every day. I don\'t do that, but I ask: who said so?<br>If some of my follwings do something I don\'t find nice or funny or "followeable", then I just un-follow him, that\'s all.<br>Maybe you just wrote this based on what they told you, but believe me, people just make too many rules.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9690678">\
	 <div id="dsq-comment-header-9690678" class="dsq-comment-header">\
	 <cite id="dsq-cite-9690678" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9690678" href="http://www.casualrevolt.com/" target="_blank" rel="nofollow">Julian</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9690678" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9690678" class="dsq-comment-message">Nice rules there Scoble. I wonder if there are other assumed rules with other sites.<br><br>There must be a million for Digg!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9690674">\
	 <div id="dsq-comment-header-9690674" class="dsq-comment-header">\
	 <cite id="dsq-cite-9690674" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9690674" href="http://theobstructionist.com/" target="_blank" rel="nofollow">Seth E</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9690674" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9690674" class="dsq-comment-message">Okay, okay, two more:<br><br>3b Stop telling us "Really, I\'m gonna stop Twittering now". NO YOU\'RE NOT!<br><br>4b. If more than 2 of every 5 of your Tweets contains the word "Twitter" in it, it\'s time to sign off for a while (then see above).</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9690675">\
	 <div id="dsq-comment-header-9690675" class="dsq-comment-header">\
	 <cite id="dsq-cite-9690675" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9690675" href="http://scobleizer.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9690675" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9690675" class="dsq-comment-message">Dwight: it\'s pretty obvious you\'ve never used Twitterrific if you think I can\'t watch 5,700 people and actually listen to what they say.<br><br>Seth: the problem with trying to stop Twittering is that someone always Tweets something damn interesting right before you go to bed.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9690677">\
	 <div id="dsq-comment-header-9690677" class="dsq-comment-header">\
	 <cite id="dsq-cite-9690677" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9690677" href="http://www.rluxemburg.com/" target="_blank" rel="nofollow">rslux</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9690677" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9690677" class="dsq-comment-message">The longer this debate about "the rules" goes on, the more I feel that perhaps the problem isn\'t the rules, it\'s Twitter. Maybe a better tool would solve these issues?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9690676">\
	 <div id="dsq-comment-header-9690676" class="dsq-comment-header">\
	 <cite id="dsq-cite-9690676" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9690676" href="http://wilywordsmith.blogspot.com/" target="_blank" rel="nofollow">Maria de los Angeles</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9690676" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9690676" class="dsq-comment-message">Well, my semi-fictional character was celebrity roasted two weekends ago when one Twitter contact decided to adopt my avatar and then several other contacts followed.  Take a look-see here for a brief round-up:  <a href="http://www.tmcamp.com/2007/09/manola-madness.php" rel="nofollow">http://www.tmcamp.com/2007/09/manola-madness.php</a> ... the moment has gone down quietly in history as "twittergate"<br><br>It both irritated and delighted me, but the irritation only stemmed from the fact that one of the 40-something kids playing in this romper room was sending me rude messages directly and personally.  Otherwise, great fun!<br><br>Incidentally and totally seriously, I agree, I think the medium should be organic and adaptable, but we still need boundaries if lines are crossed.<br><br>Everyone has the choice to follow/not follow.  I only started following you because Hugh mentioned the live twitter of your child (btw, congratulations, such inspiring and gorgeous photos!) I thought it was fascinating to see such a thing on Twitter.  It really captured my imagination ... if I ever had a child, I\'d do the same!  And of course, I am always welcome to make new friends of friends.  But that\'s just me ... I think we all use this as we like.  It\'s all good.  Carry on ...</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9690704">\
	 <div id="dsq-comment-header-9690704" class="dsq-comment-header">\
	 <cite id="dsq-cite-9690704" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9690704">PooPsTech</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9690704" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9690704" class="dsq-comment-message">Well I loved the Rule #4!  What do you thing Robert?  You tihnk all of us have 300 and more peole that we follow?  Not all of us are as "popular" as you are.  300!  Ha!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9690673">\
	 <div id="dsq-comment-header-9690673" class="dsq-comment-header">\
	 <cite id="dsq-cite-9690673" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9690673" href="http://twitter.com/quepol" target="_blank" rel="nofollow">hillary</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9690673" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9690673" class="dsq-comment-message">i feel the need to point out that these "rules" have in no way been outlined by twitter, inc.  some of the comments seem to assume the rules are coming from the creators; but i think robert is responding to critique from users.<br><br>5. Don’t assume other people are having the same experience you are.<br><br>and don\'t assume that your rules work for everyone else.  right?  :)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9690671">\
	 <div id="dsq-comment-header-9690671" class="dsq-comment-header">\
	 <cite id="dsq-cite-9690671" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9690671" href="http://helzerman.com/blog/" target="_blank" rel="nofollow">Catherine Helzerman</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9690671" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9690671" class="dsq-comment-message">Great post.  The one rule I do stick to is 120 characters.  I find it forces me to focus my point and make it quickly.  Unfortunately for readers, I do tend to "twit and run" -that\'s five tweets in a row followed by nothing until the next day.  Following everyone who follows you is a good rule.  If for no other reason, it makes for fun twit discussions when you\'re referencing each other\'s posts.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9690736">\
	 <div id="dsq-comment-header-9690736" class="dsq-comment-header">\
	 <cite id="dsq-cite-9690736" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9690736" href="http://www.junkheap.net/" target="_blank" rel="nofollow">Marcin</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9690736" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9690736" class="dsq-comment-message">Just nitpicking, but SMS can actually handle 160 character messages - I assume twitter just limits their messages to 140 to make sure there are enough spare characters for your username, a colon, and a space in the SMS.<br><br>So you could probably get away with 148 characters.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9690735">\
	 <div id="dsq-comment-header-9690735" class="dsq-comment-header">\
	 <cite id="dsq-cite-9690735" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9690735" href="http://www.theislanddog.com/" target="_blank" rel="nofollow">Spencer</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9690735" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9690735" class="dsq-comment-message">I break many of those myself, although in general I try to keep my messages short.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9690710">\
	 <div id="dsq-comment-header-9690710" class="dsq-comment-header">\
	 <cite id="dsq-cite-9690710" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9690710" href="http://mnstories.com/" target="_blank" rel="nofollow">Chuck Olsen</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9690710" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9690710" class="dsq-comment-message">Robert, I didn\'t see any rule about spreading silly rumours... maybe that rule mainly applies to me. :-D</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9690711">\
	 <div id="dsq-comment-header-9690711" class="dsq-comment-header">\
	 <cite id="dsq-cite-9690711" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9690711" href="http://mickeleh.blogspot.com/" target="_blank" rel="nofollow">Michael Markman</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9690711" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9690711" class="dsq-comment-message">Robert, Tweet as you will. People can always tune you out. (Oh, wait. That\'s been said here.) Feels weird when you\'re trying to be obstreperous and radical and have everyone agrees with you. Are you dumping dissenters? Or are you losing your edge?)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9690670">\
	 <div id="dsq-comment-header-9690670" class="dsq-comment-header">\
	 <cite id="dsq-cite-9690670" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9690670" href="http://joeduck.wordpress.com/" target="_blank" rel="nofollow">JoeDuck</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9690670" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9690670" class="dsq-comment-message">Bravo - break on, dude.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9690734">\
	 <div id="dsq-comment-header-9690734" class="dsq-comment-header">\
	 <cite id="dsq-cite-9690734" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9690734" href="http://mokshjuneja.com/" target="_blank" rel="nofollow">Moksh Juneja</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9690734" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9690734" class="dsq-comment-message">Do these rules also apply to Pownce and Jaiku?? Who came up with the figure - 140?? I would really like to know!!<br><br>Guilty at the same time, since even I break these rules!!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9690733">\
	 <div id="dsq-comment-header-9690733" class="dsq-comment-header">\
	 <cite id="dsq-cite-9690733" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9690733" href="http://www.xmlaficionado.com/" target="_blank" rel="nofollow">A.Falk</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9690733" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9690733" class="dsq-comment-message">I enjoy your Twitter ramblings (and I hope you enjoy mine) - it\'s a great tool and different people use it for different purposes.<br><br>As far as rules are concerned: I don\'t remember having to click-accept any 7 page legal document when signed up for Twitter - so as far as I\'m concerned there are no rules... :)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9690669">\
	 <div id="dsq-comment-header-9690669" class="dsq-comment-header">\
	 <cite id="dsq-cite-9690669" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9690669">Spencer</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9690669" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9690669" class="dsq-comment-message">WAIT A SECOND!!! :) I totally follow you and I\'m pretty sure you aren\'t on my followers list... twitter.com/iSpenc</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9690668">\
	 <div id="dsq-comment-header-9690668" class="dsq-comment-header">\
	 <cite id="dsq-cite-9690668" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9690668" href="http://www.superspud.com/" target="_blank" rel="nofollow">Daniele Rossi</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9690668" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9690668" class="dsq-comment-message">HAHAHA The funny thin gis I couldn\'t do #9 because of you doing #2 (that didn\'t sound right). One time, I got fed up with having a page full of your tweets so I thought of \'unfollowing\' you for a few days because. However-- I couldn\'t find you on my list! It\'s weird :) You\'re tweets show up but your name isn\'t there on my following list.<br><br>You\'re too spooky! :) Anyhoo, I\'m glad I couldn\'t remove you after all because then I wouldn\'t have been alerted to this blog post.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9690730">\
	 <div id="dsq-comment-header-9690730" class="dsq-comment-header">\
	 <cite id="dsq-cite-9690730" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9690730" href="http://www.styletank.com/" target="_blank" rel="nofollow">Steve</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9690730" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9690730" class="dsq-comment-message">Guy Kawasaki might be out twittering you... Keep sending all those sweet tweets... With sms I can stand at the water cooler all day.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9690731">\
	 <div id="dsq-comment-header-9690731" class="dsq-comment-header">\
	 <cite id="dsq-cite-9690731" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9690731" href="http://secondthoughts.typepad.com/" target="_blank" rel="nofollow">Prokofy Neva</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9690731" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9690731" class="dsq-comment-message">Yeah, I break all these rules, too, and the thing is constantly saying to me WHOAH THAT WAS A BIG UPDATE ! Next time stick to 140!<br><br>But..You have to break the rules or it wouldn\'t work as well.<br><br>I realize we\'re supposed to get into the Zen of "What are you doing *right now*?" and be all "be here now" and stuff, but the reality is, often when you\'re Twittering, you\'re sitting in front of your computer,if you don\'t have a cell phone to twitter with like me, or, you\'re sitting in a waiting room waiting for an airplane or something, like a lot of the people who Twitter on down time. So...what are you going to say, "Um, I\'m here at my computer folks". Of COURSE you have to say "What do you think of this blog, that movie, this new camera, etc."<br><br>I\'m not for them changing the 140 thing just because I think it\'s good to get a frame and a limit to try to keep as many convos going at once in the page view. But I wish it threaded downwards like jaiku does, except jaiki being like that never makes me go over to jaiku, go know.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9690728">\
	 <div id="dsq-comment-header-9690728" class="dsq-comment-header">\
	 <cite id="dsq-cite-9690728" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9690728" href="http://www.funyfarm.org/" target="_blank" rel="nofollow">bob smith</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9690728" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9690728" class="dsq-comment-message">What the hexx is twiter???????????????</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9690729">\
	 <div id="dsq-comment-header-9690729" class="dsq-comment-header">\
	 <cite id="dsq-cite-9690729" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9690729" href="http://savewinnipeg.wordpress.com/" target="_blank" rel="nofollow">dreadsword</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9690729" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9690729" class="dsq-comment-message">I wish you\'d break the tinyURL rule and try <a href="http://rwurl.com" rel="nofollow">http://rwurl.com</a> instead. Pick your own shortlinks lets you max out your characters, and track your clickthrough volume for maximum popularity gloating - rwurl was made to complement your tweets.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9690709">\
	 <div id="dsq-comment-header-9690709" class="dsq-comment-header">\
	 <cite id="dsq-cite-9690709" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9690709" href="http://christianburns.wordpress.com/" target="_blank" rel="nofollow">Christian Burns</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9690709" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9690709" class="dsq-comment-message">The only rule that I don\'t break is the follow more that x number of people. I do add almost everyone that follows me as long as I can see that they are actually interested in what I say, as opposed to adding me so that I will visit their dumb website. Twitter is so fun for people like us because we do break the rules. Next time I see any twitter people in real life I can just start the conversation because we already know the boring stuff about each other.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9690727">\
	 <div id="dsq-comment-header-9690727" class="dsq-comment-header">\
	 <cite id="dsq-cite-9690727" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9690727">Ian</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9690727" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9690727" class="dsq-comment-message">If there\'s one thing that pisses me off more than anything else, it\'s the self-proclaimed tech gurus who profess to have all the answers in the so-called Web 2.0 world.<br><br>Popular websites go by the wayside daily. Tech books are obsolete nearly as soon as they\'re published, and the communications paradigms shift like quicksand.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9690726">\
	 <div id="dsq-comment-header-9690726" class="dsq-comment-header">\
	 <cite id="dsq-cite-9690726" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9690726">Jason</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9690726" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9690726" class="dsq-comment-message">I honestly cannot see the point of Twitter. It seems to me that the amount of attention you have to give the service far outweighs any benefits.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9690725">\
	 <div id="dsq-comment-header-9690725" class="dsq-comment-header">\
	 <cite id="dsq-cite-9690725" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9690725" href="http://www.ecademy.com/" target="_blank" rel="nofollow">Julian Bond</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9690725" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9690725" class="dsq-comment-message">There is only one rule of Twitter. Don\'t talk about Twitter.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9690708">\
	 <div id="dsq-comment-header-9690708" class="dsq-comment-header">\
	 <cite id="dsq-cite-9690708" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9690708" href="http://twitter.com/samuelwells" target="_blank" rel="nofollow">Samuel Wells</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9690708" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9690708" class="dsq-comment-message">Oh and just in case you didn\'t see my reply to <a href="http://twitter.com/Scobleizer/statuses/289603202" rel="nofollow">http://twitter.com/Scobleizer/statuses/289603202</a><br><br>What\'s rss reading like these days, while holding Milan? Learning Google Reader yet? I don\'t suppose he\'s saying "jjjjjkk" :-P<br><a href="http://twitter.com/samuelwells/statuses/289665642" rel="nofollow">http://twitter.com/samuelwells/statuses/289665642</a></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9690723">\
	 <div id="dsq-comment-header-9690723" class="dsq-comment-header">\
	 <cite id="dsq-cite-9690723" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9690723" href="http://www.somacow.com/" target="_blank" rel="nofollow">geoff</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9690723" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9690723" class="dsq-comment-message">I feel like Twitter is dying, regardless of the rules. If I were going to "follow" such unwritten edicts, I might as well just text my friends. The whole point of social media tools is to socialize on a larger scale than traditional methods allow.<br><br>My only lament is that the more people I follow, the more people\'s updates I lose in the cacophony. Sometimes I just end up keyword searching through twittersearch/troll/whatever, although those sites seem spotty on returns.<br><br>I guess it\'ll stay good \'til the timeshare people get on it.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9690724">\
	 <div id="dsq-comment-header-9690724" class="dsq-comment-header">\
	 <cite id="dsq-cite-9690724" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9690724" href="http://www.livedigitally.com/" target="_blank" rel="nofollow">Jeremy Toeman</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9690724" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9690724" class="dsq-comment-message">And there\'s always my favorite, which is "ignore Twitter altogether".  It\'s amazing how well I can follow it!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9690722">\
	 <div id="dsq-comment-header-9690722" class="dsq-comment-header">\
	 <cite id="dsq-cite-9690722" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9690722" href="http://www.vaspersthegrate.blogspot.com/" target="_blank" rel="nofollow">vaspers aka steven e. streight</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9690722" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9690722" class="dsq-comment-message">I don\'t know where you found these spurious "rules of Twitter" but I don\'t believe in any of them.<br><br>You know many people migrated to Twitter because of you, during the Mean Kids debacle.<br><br>One rule I do believe in is don\'t exclusively or primarily link to your own blog posts. Don\'t use Twitter as a free ad medium to drive traffic to an ad infested web site.<br><br>Interact with others on Twitter, as much as possible.<br><br>I love your tweets and your genuine care for others, even Z Listers like me. I agree with what you state in this post.<br><br>:^)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9690721">\
	 <div id="dsq-comment-header-9690721" class="dsq-comment-header">\
	 <cite id="dsq-cite-9690721" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9690721" href="http://www.vaspersthegrate.blogspot.com/" target="_blank" rel="nofollow">vaspers aka steven e. streight</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9690721" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9690721" class="dsq-comment-message">Twitter is a rushing river of brevities and links. Blogs are stagnant islands of prolixities.<br><br>heh</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9690720">\
	 <div id="dsq-comment-header-9690720" class="dsq-comment-header">\
	 <cite id="dsq-cite-9690720" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9690720">JT Allison</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9690720" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9690720" class="dsq-comment-message">I think you\'re doing just fine. I don\'t pay attention to unwritten rules. If I\'m suppose to follow them, then they should be made official and written down.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9690705">\
	 <div id="dsq-comment-header-9690705" class="dsq-comment-header">\
	 <cite id="dsq-cite-9690705" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9690705">bammy</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9690705" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9690705" class="dsq-comment-message">I think you’re doing just fine and goog.I don’t pay attention to unwritten rules.If I’m suppose to follow them, then they should be made official and written down</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9690706">\
	 <div id="dsq-comment-header-9690706" class="dsq-comment-header">\
	 <cite id="dsq-cite-9690706" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9690706">bammy</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9690706" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9690706" class="dsq-comment-message">i love beein with you here truely i was told by a frien of mine that here is the better place for me to serch for a life partner</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9690707">\
	 <div id="dsq-comment-header-9690707" class="dsq-comment-header">\
	 <cite id="dsq-cite-9690707" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9690707" href="http://orcmid.spaces.live.com/" target="_blank" rel="nofollow">orcmid</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9690707" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9690707" class="dsq-comment-message">Oh, my sides hurt!<br><br>I almost signed up for twitter just so I could tweak you with some tweets, but I figure why torgue when I can just nag you about not even answering Facebook mail.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9690732">\
	 <div id="dsq-comment-header-9690732" class="dsq-comment-header">\
	 <cite id="dsq-cite-9690732" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9690732" href="http://atravelingmom.wordpress.com/" target="_blank" rel="nofollow">Pat Jenkins</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9690732" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9690732" class="dsq-comment-message">I love your book.  I am trying to get everyone in my company (<a href="http://nolo.com" rel="nofollow">nolo.com</a>) to buy it.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9690719">\
	 <div id="dsq-comment-header-9690719" class="dsq-comment-header">\
	 <cite id="dsq-cite-9690719" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9690719" href="http://www.edelman.com.br/" target="_blank" rel="nofollow">Thiane</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9690719" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9690719" class="dsq-comment-message">I agree that you should only follow real friends. But in my case I follow people who brings me good information (like you and your links). Isn´t that valid too?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9690718">\
	 <div id="dsq-comment-header-9690718" class="dsq-comment-header">\
	 <cite id="dsq-cite-9690718" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9690718" href="http://www.jordoncooper.com/" target="_blank" rel="nofollow">Jordon Cooper</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9690718" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9690718" class="dsq-comment-message">I am following you on Twitter and your rule breaking isn\'t bothering me that much.  I won\'t worry about the criticism.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9690717">\
	 <div id="dsq-comment-header-9690717" class="dsq-comment-header">\
	 <cite id="dsq-cite-9690717" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9690717">Diego</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9690717" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9690717" class="dsq-comment-message">Forget the rules! I was going to use the other F word there. If people don\'t like it, they can stop following you. Plain and simple. These people are just whiners. Similar to when people complain about something they didn\'t like on TV. As far as I recall TVs still have an off switch. Use it people!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9690667">\
	 <div id="dsq-comment-header-9690667" class="dsq-comment-header">\
	 <cite id="dsq-cite-9690667" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9690667">Tom</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9690667" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9690667" class="dsq-comment-message">I don\'t use Twitter. I have been considering signing up. But after reading this, I will never, ever sign up for Twitter now.<br>I\'ll wait for something better and then probably never sign up for that either.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9690716">\
	 <div id="dsq-comment-header-9690716" class="dsq-comment-header">\
	 <cite id="dsq-cite-9690716" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9690716" href="http://lafd.blogspot.com/" target="_blank" rel="nofollow">Brian Humphrey</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9690716" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9690716" class="dsq-comment-message">Robert,<br><br>Thanks for the list... which came in handy this week as I tried to frame Twittiquette into a public presentation on the Los Angeles Fire Department\'s <a HREF="http://twitter.com/LAFD" rel="nofollow">use of the microblogging platform</a>.<br><br><br>Respectfully Yours in Safety and Service,<br><br>Brian Humphrey<br>Firefighter/Specialist<br>Public Service Officer<br>Los Angeles Fire Department</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9690715">\
	 <div id="dsq-comment-header-9690715" class="dsq-comment-header">\
	 <cite id="dsq-cite-9690715" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9690715">alicia</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9690715" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9690715" class="dsq-comment-message">so, uh, is there a link to your twitter account?? i wanted to read. :)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9690714">\
	 <div id="dsq-comment-header-9690714" class="dsq-comment-header">\
	 <cite id="dsq-cite-9690714" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9690714" href="http://scobleizer.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9690714" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9690714" class="dsq-comment-message">alicia: <a href="http://www.twitter.com/scobleizer" rel="nofollow">http://www.twitter.com/scobleizer</a></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9690713">\
	 <div id="dsq-comment-header-9690713" class="dsq-comment-header">\
	 <cite id="dsq-cite-9690713" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9690713" href="http://www.blogthot.com/" target="_blank" rel="nofollow">Jon</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9690713" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9690713" class="dsq-comment-message">If nobody broke rule #7, I actually don\'t think Twitter would be successful.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9690738">\
	 <div id="dsq-comment-header-9690738" class="dsq-comment-header">\
	 <cite id="dsq-cite-9690738" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9690738" href="http://www.stpaulrealestateblog.com/" target="_blank" rel="nofollow">Teresa Boardman</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9690738" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9690738" class="dsq-comment-message">I started following you on twitter a couple of weeks ago.  For the most part I find it interesting.  I have maybe 90 followrs and am following 75 or so. . . I guess if your flagrant violation of the rules ticked me off I would stop following you. :)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9690737">\
	 <div id="dsq-comment-header-9690737" class="dsq-comment-header">\
	 <cite id="dsq-cite-9690737" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9690737" href="http://www.miamism.com" target="_blank" rel="nofollow">miamism</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9690737" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9690737" class="dsq-comment-message">A lot of us use it as a chat room - that should piss off a whole lot of people.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9690712">\
	 <div id="dsq-comment-header-9690712" class="dsq-comment-header">\
	 <cite id="dsq-cite-9690712" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9690712" href="http://www.kristalsellsdenver.com/" target="_blank" rel="nofollow">kristalk</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9690712" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9690712" class="dsq-comment-message">I follow Teresa Boardman and Ines.<br>Breaking the rules is a good thing.<br>kk</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9690703">\
	 <div id="dsq-comment-header-9690703" class="dsq-comment-header">\
	 <cite id="dsq-cite-9690703" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9690703">Steve</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9690703" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9690703" class="dsq-comment-message">If you really want to post text beyond the 140 character limit in Twitter, check this Firefox extension which lets you do that - <a href="http://shorttext.com/twitzer.aspx" rel="nofollow">http://shorttext.com/twitzer.aspx</a></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9690739">\
	 <div id="dsq-comment-header-9690739" class="dsq-comment-header">\
	 <cite id="dsq-cite-9690739" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9690739" href="http://kaypatterson.blogspot.com/" target="_blank" rel="nofollow">Blurtsmum</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9690739" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9690739" class="dsq-comment-message">On an evening I often get a minute by minute report of some gut commuting accross melbourne (i\'m in uk) by public transport -- he often ends up quite cross - its hilarious! Look forward to it. I use twitter as a form of entertainment, information seeking and to show people the pictures I make.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9690740">\
	 <div id="dsq-comment-header-9690740" class="dsq-comment-header">\
	 <cite id="dsq-cite-9690740" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9690740" href="http://www.longbeachrealestatehome.com" target="_blank" rel="nofollow">LaurieManny</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9690740" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9690740" class="dsq-comment-message">I love your take on rules.  I have always said that rules were made for people who need them and I just don\'t need them! lol...</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9690741">\
	 <div id="dsq-comment-header-9690741" class="dsq-comment-header">\
	 <cite id="dsq-cite-9690741" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9690741" href="http://www.sharepointjoel.com/" target="_blank" rel="nofollow">Joel Oleson</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9690741" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9690741" class="dsq-comment-message">Well done.  I haven\'t come across these rules, but I do see you have to break these rules to get the real value out of it.<br><br>I am very interested in understanding how you add the followers who follow you.  Have you figured out a way to get past the pages and pages of followers?  I see you can\'t get past 20 pages on the web.<br><br><a href="http://www.twitter.com/joeloleson" rel="nofollow">http://www.twitter.com/joeloleson</a><br><br>Joel<br>Following you on twitter.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9690742">\
	 <div id="dsq-comment-header-9690742" class="dsq-comment-header">\
	 <cite id="dsq-cite-9690742" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9690742" href="http://jenniez.etsy.com/" target="_blank" rel="nofollow">Jennie Z</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9690742" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9690742" class="dsq-comment-message">Wonderful, now I feel better about breakign these rules. I actually thought the 140 character limit was an absolute, that it would cut me off if I went over...Now that I know I think I might go way overboard just to be an ass.<br><br>Also, I like Kelly\'s comment (second one down)... this is generally how I live my life too.<br><br>P.S. <a href="http://twitter.com/jennie_z" rel="nofollow">http://twitter.com/jennie_z</a> :)<br>(I had to plug two sites, sorry)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9690743">\
	 <div id="dsq-comment-header-9690743" class="dsq-comment-header">\
	 <cite id="dsq-cite-9690743" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9690743" href="http://www.thebrandonshow.com/" target="_blank" rel="nofollow">Brandon J. Mendelson</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9690743" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9690743" class="dsq-comment-message">This made me smile. Thank you Mr. Scoble.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9690744">\
	 <div id="dsq-comment-header-9690744" class="dsq-comment-header">\
	 <cite id="dsq-cite-9690744" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9690744" href="http://www.vbsondemand.com/category/blog" target="_blank" rel="nofollow">Serena Carcasole</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9690744" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9690744" class="dsq-comment-message">Love this post!! I agree.  I don\'t understand why people make up there own rules.  Twitter is supposed to be a network without rules and of course there seem to be rules that came out of everything!!<br><br>Now I am off to write a 140+ post! :)<br><br><br>Serena Carcasole<br><a href="http://www.vbsondemand.com" rel="nofollow">www.vbsondemand.com</a><br>Your 1STOP Business Service Shop<br>Outsource your way to success!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9690746">\
	 <div id="dsq-comment-header-9690746" class="dsq-comment-header">\
	 <cite id="dsq-cite-9690746" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9690746" href="http://blog.ceesquare.com/" target="_blank" rel="nofollow">Marryam Chaudhry</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9690746" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9690746" class="dsq-comment-message">I have to say this..this is the best techy blog I have come across!.and I just love your rebel ideas coz they are so similar to mine..I break all the tweet rules too!..I just am so pissed at the 2k limit on people I can follow!!!<br><br>Keep posting! I love it! I have also RT this article ..its deserves it!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9690747">\
	 <div id="dsq-comment-header-9690747" class="dsq-comment-header">\
	 <cite id="dsq-cite-9690747" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9690747" href="http://www.bookmarkdigg.com/" target="_blank" rel="nofollow">seo</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9690747" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9690747" class="dsq-comment-message">I have to say this..this is the best techy blog I have come across!.and I just love your rebel ideas coz they are so similar to mine..I break all the tweet rules too!..I just am so pissed at the 2k limit on people I can follow!!!<br><br>Keep posting! I love it! I have also RT this article ..its deserves it!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9690745">\
	 <div id="dsq-comment-header-9690745" class="dsq-comment-header">\
	 <cite id="dsq-cite-9690745" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9690745" href="http://gymsanity.com/" target="_blank" rel="nofollow">Keva Silversmith</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9690745" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9690745" class="dsq-comment-message">I had never heard of the 300 rule before - makes sense to me.  As my numbers started going up, I was wondering how I was supposed to track everyone.  I\'m following someone who has 42,000 people in his network - even Tweetdeck won\'t solve that sensory overload.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-11681031">\
	 <div id="dsq-comment-header-11681031" class="dsq-comment-header">\
	 <cite id="dsq-cite-11681031" class="dsq-comment-cite">\
	 <a id="dsq-author-user-11681031" href="http://www.socialbookmark.in.th/" target="_blank" rel="nofollow">Social Bookmark</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-11681031" class="dsq-comment-body">\
	 <div id="dsq-comment-message-11681031" class="dsq-comment-message">A lot of user use it as a chat room.<br><br>That should piss off a whole lot of people.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-13232749">\
	 <div id="dsq-comment-header-13232749" class="dsq-comment-header">\
	 <cite id="dsq-cite-13232749" class="dsq-comment-cite">\
	 <span id="dsq-author-user-13232749">aitengri</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-13232749" class="dsq-comment-body">\
	 <div id="dsq-comment-message-13232749" class="dsq-comment-message">Well, if what I\'m "doing" is "thinking", then we don\'t have to worry about that issue. I think we could issue 10 interconnected "tweets" as, hmmm, our preferred ethical commandments? As serial parables? Some bible guy on PBS tried to make the point that his god was very concise. So are Haiku. There we go! This system could be a concentrating force, an ultimate response to Kant, an Einsteinian verbal equation challenge. I\'ll cease and desist here, as I save my own words (spontaneosly spewed here) for a real text file :)<br>PS I\'ve not yet taken this very dangerous plunge into the abyss of ADD noise. Not sure of my swimming technique.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-14510376">\
	 <div id="dsq-comment-header-14510376" class="dsq-comment-header">\
	 <cite id="dsq-cite-14510376" class="dsq-comment-cite">\
	 <span id="dsq-author-user-14510376">groomdress</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-14510376" class="dsq-comment-body">\
	 <div id="dsq-comment-message-14510376" class="dsq-comment-message">Nice and informative article. lot of information about it. Very interesting for students like me. i found lot of interesting and important articles in this website.<a href="http://www.motherofgroomdress.net" rel="nofollow">groom dress</a></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-15312434">\
	 <div id="dsq-comment-header-15312434" class="dsq-comment-header">\
	 <cite id="dsq-cite-15312434" class="dsq-comment-cite">\
	 <span id="dsq-author-user-15312434">bridgetbusutil</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-15312434" class="dsq-comment-body">\
	 <div id="dsq-comment-message-15312434" class="dsq-comment-message">i like your attitude and you are right if people were not happy they could unfollow!<br>How do you get around the 2000 bit. I have 1928 followers and following 2080 and I am stuck I can\'t move . IF you know how to get around that one you would help me a lot. I want to get over the 2000 to keep building!<br>Thanks in advance. happy tweeting from Barcelona. follow me too!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-15524741">\
	 <div id="dsq-comment-header-15524741" class="dsq-comment-header">\
	 <cite id="dsq-cite-15524741" class="dsq-comment-cite">\
	 <a id="dsq-author-user-15524741" href="http://www.tutors-db.com" target="_blank" rel="nofollow">smartkub</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-15524741" class="dsq-comment-body">\
	 <div id="dsq-comment-message-15524741" class="dsq-comment-message">I don\'t get why people complain about others tweets, there is always the leave button.<br><br>Oh and scobble you don\'t follow EVERY one who follows you, last I checked you weren\'t following me :-)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-15536338">\
	 <div id="dsq-comment-header-15536338" class="dsq-comment-header">\
	 <cite id="dsq-cite-15536338" class="dsq-comment-cite">\
	 <span id="dsq-author-user-15536338">Guest</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-15536338" class="dsq-comment-body">\
	 <div id="dsq-comment-message-15536338" class="dsq-comment-message">Bravo - break on, dude.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-15536417">\
	 <div id="dsq-comment-header-15536417" class="dsq-comment-header">\
	 <cite id="dsq-cite-15536417" class="dsq-comment-cite">\
	 <span id="dsq-author-user-15536417">Guest</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-15536417" class="dsq-comment-body">\
	 <div id="dsq-comment-message-15536417" class="dsq-comment-message">so, uh, is there a link to your twitter account?? i wanted to read. :)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-15555754">\
	 <div id="dsq-comment-header-15555754" class="dsq-comment-header">\
	 <cite id="dsq-cite-15555754" class="dsq-comment-cite">\
	 <span id="dsq-author-user-15555754">Guest</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-15555754" class="dsq-comment-body">\
	 <div id="dsq-comment-message-15555754" class="dsq-comment-message">I know the Twitter but i don\'t know it will use for...</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16008458">\
	 <div id="dsq-comment-header-16008458" class="dsq-comment-header">\
	 <cite id="dsq-cite-16008458" class="dsq-comment-cite">\
	 <a id="dsq-author-user-16008458" href="http://www.thewritersforhire.com/blog/" target="_blank" rel="nofollow">Michelle</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16008458" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16008458" class="dsq-comment-message">Great post, really enjoyed it!  I do think that there\'s always a time and a place for proper Twitter etiquette -- but you don\'t have to follow them ALL the time (I know my table manners aren\'t as good as they could be when I\'m eating at home, alone).  Some of the rules -- like your #7, where people feel they always need to answer the question "what are you doing" -- is plain silly, and probably meant to be broken.  I recently posted a few of my own "rules" for newbie Twitterers -- but I cited you as a good example of someone who successfully breaks the rules.  Check it out here, if you like: <a href="http://www.thewritersforhire.com/blog/social-media/twitter-etiquette-the-dos-and-donts/" rel="nofollow">http://www.thewritersforhire.com/blog/social-me...</a><br><br>Thanks again for the good post!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16704253">\
	 <div id="dsq-comment-header-16704253" class="dsq-comment-header">\
	 <cite id="dsq-cite-16704253" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16704253">diggma</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16704253" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16704253" class="dsq-comment-message">A lot of user use it as a chat room.<br><br>That should piss off a whole lot of people.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16704937">\
	 <div id="dsq-comment-header-16704937" class="dsq-comment-header">\
	 <cite id="dsq-cite-16704937" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16704937">diggma</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16704937" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16704937" class="dsq-comment-message">I never got the memo on the "rules". I\'ll do what the hell I like on Twitter and if you don\'t like it, don\'t follow me.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16704982">\
	 <div id="dsq-comment-header-16704982" class="dsq-comment-header">\
	 <cite id="dsq-cite-16704982" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16704982">diggma</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16704982" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16704982" class="dsq-comment-message">I break every rule too! Don\'t feel bad Robert! See ya tomorrow!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16758704">\
	 <div id="dsq-comment-header-16758704" class="dsq-comment-header">\
	 <cite id="dsq-cite-16758704" class="dsq-comment-cite">\
	 <a id="dsq-author-user-16758704" href="http://greenspotantiques.com" target="_blank" rel="nofollow">vincej</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16758704" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16758704" class="dsq-comment-message">breaking rules? <br>There are rules?  <br><br>If you have a second, take a look at my "piggyback tweet" discussion. <br>A simple experiment, some pretty intense reactions, and your opinions are welcome. <br>I don\'t bruise easily :-) <br><a href="http://greeninkdiary.blogspot.com/2009/09/twitter-product-listing-hijacking-or.html" rel="nofollow">http://greeninkdiary.blogspot.com/2009/09/twitt...</a><br>and be sure to vote and leave a comment. <br>cheers</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16850648">\
	 <div id="dsq-comment-header-16850648" class="dsq-comment-header">\
	 <cite id="dsq-cite-16850648" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16850648">bookmarkth</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16850648" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16850648" class="dsq-comment-message">Good lord man, <br><br>well...At least he\'s humble. I think?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16850856">\
	 <div id="dsq-comment-header-16850856" class="dsq-comment-header">\
	 <cite id="dsq-cite-16850856" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16850856">bookmarkth</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16850856" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16850856" class="dsq-comment-message">Good lord man, well...At least he\'s humble. I think?<br><br><a href="http://www.bookmarkth.com/" rel="nofollow">โปรโมทเว็บฟรี</a></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16937070">\
	 <div id="dsq-comment-header-16937070" class="dsq-comment-header">\
	 <cite id="dsq-cite-16937070" class="dsq-comment-cite">\
	 <a id="dsq-author-user-16937070" href="http://www.malessa.zorly.com" target="_blank" rel="nofollow">Paul Malessa aka Zorly</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16937070" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16937070" class="dsq-comment-message">Right on Robert! Good article...</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-17222379">\
	 <div id="dsq-comment-header-17222379" class="dsq-comment-header">\
	 <cite id="dsq-cite-17222379" class="dsq-comment-cite">\
	 <span id="dsq-author-user-17222379">Guest</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-17222379" class="dsq-comment-body">\
	 <div id="dsq-comment-message-17222379" class="dsq-comment-message">Long time ago, i never use the twitter and i don\'t like the twitter\'s  rules.<br><br>Maybe , I have to use it bacause alot of people talk to its.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-20172204">\
	 <div id="dsq-comment-header-20172204" class="dsq-comment-header">\
	 <cite id="dsq-cite-20172204" class="dsq-comment-cite">\
	 <span id="dsq-author-user-20172204">ndesigns</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-20172204" class="dsq-comment-body">\
	 <div id="dsq-comment-message-20172204" class="dsq-comment-message">I agree, it\'s a different experience for different folks, depending on how you use it. But frankly, if you\'ve got 5,700 "friends" all talking at once, you can\'t possibly "listen to" all of them. I think you just like collecting all those little pixilated faces.</div>\
	 </div>\
	 </li>\
	 </ul>\
';

(function() {
	
	





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

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


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

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

	
	

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

	Dsq.Popup.showCookieMsgs();

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

	
	if((typeof OB_Script != 'undefined') && (typeof OB_versionNum != 'undefined')) {
		if(navigator.userAgent.indexOf("Firefox") != -1) {
			if(window.frames['dsq-reply-frame']) {
				window.frames['dsq-reply-frame'].location = Dsq.Urls.REPLY + (new Date()).getTime() + '&f=scobleizer&t=the_10_rules_of_twitter_and_how_i_break_every_one&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);
			}
		}
	});
}

})();




