




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

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

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

var Dsq = new function() {
	this.container = document.getElementById('dsq-content');
	this.jsonData = {"reactions": [], "has_more_reactions": false, "users": {"9420e53f04c5a877aa5df3b2a821ea9c": {"username": "Ron Mecredy", "tumblr": "", "display_name": "Ron Mecredy", "url": "http://disqus.com/guest/9420e53f04c5a877aa5df3b2a821ea9c/", "registered": false, "linkedin": "", "blog": "http://del.icio.us/mecredy", "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": ""}, "79296b5e928ab254e8c7c53b77a76075": {"username": "zenpundit", "tumblr": "", "display_name": "zenpundit", "url": "http://disqus.com/guest/79296b5e928ab254e8c7c53b77a76075/", "registered": false, "linkedin": "", "blog": "http://zenpundit.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": ""}, "4bb9fd6ce2527e89383791878e5d4c63": {"username": "Steve", "tumblr": "", "display_name": "Steve", "url": "http://disqus.com/guest/4bb9fd6ce2527e89383791878e5d4c63/", "registered": false, "linkedin": "", "blog": "http://twitter.com/sradick", "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": ""}, "cd5ed76dc84c036fc2ddbc6ada6adef7": {"username": "Steve Ireland", "tumblr": "", "display_name": "Steve Ireland", "url": "http://disqus.com/guest/cd5ed76dc84c036fc2ddbc6ada6adef7/", "registered": false, "linkedin": "", "blog": "http://joblogs.cc", "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": ""}, "5737e7a9764dc48eb52d53f238e67f68": {"username": "Atul Rai", "tumblr": "", "display_name": "Atul Rai", "url": "http://disqus.com/guest/5737e7a9764dc48eb52d53f238e67f68/", "registered": false, "linkedin": "", "blog": "http://atulrai1.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": ""}, "ebf90ca6423a958d31b6fb90732b1c9f": {"username": "Joel Halse", "tumblr": "", "display_name": "Joel Halse", "url": "http://disqus.com/guest/ebf90ca6423a958d31b6fb90732b1c9f/", "registered": false, "linkedin": "", "blog": "http://www.ijsolutions.ca/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": ""}, "b6262cccad9c67c2a7e70f8cf24517ae": {"username": "Andrew Meyer", "tumblr": "", "display_name": "Andrew Meyer", "url": "http://disqus.com/guest/b6262cccad9c67c2a7e70f8cf24517ae/", "registered": false, "linkedin": "", "blog": "http://alignmentinquiries.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": ""}, "b1c6be08e46e3af0dc96c9aa19aa69c2": {"username": "Puneet Gupta", "tumblr": "", "display_name": "Puneet Gupta", "url": "http://disqus.com/guest/b1c6be08e46e3af0dc96c9aa19aa69c2/", "registered": false, "linkedin": "", "blog": "http://www.connectbeam.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": ""}, "04c3635bdd672c1bb01eab3f5e650d01": {"username": "Dominik", "tumblr": "", "display_name": "Dominik", "url": "http://disqus.com/guest/04c3635bdd672c1bb01eab3f5e650d01/", "registered": false, "linkedin": "", "blog": "http://www.whitepal.de", "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": ""}, "e2012deeda0920c588489e16c4300cb3": {"username": "John Caddell", "tumblr": "", "display_name": "John Caddell", "url": "http://disqus.com/guest/e2012deeda0920c588489e16c4300cb3/", "registered": false, "linkedin": "", "blog": "http://shoptalkmarketing.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": ""}, "6e786934381a2f03a5f460a7d43f0a55": {"username": "Sheila Sultani", "tumblr": "", "display_name": "Sheila Sultani", "url": "http://disqus.com/guest/6e786934381a2f03a5f460a7d43f0a55/", "registered": false, "linkedin": "", "blog": "http://theadmaster.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": ""}, "19c28d540ec97ba23a16cf1972f7814f": {"username": "Randy Fine", "tumblr": "", "display_name": "Randy Fine", "url": "http://disqus.com/guest/19c28d540ec97ba23a16cf1972f7814f/", "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": ""}, "8babda4edbc0b29c0dc2566944ca896e": {"username": "Molly Moran", "tumblr": "", "display_name": "Molly Moran", "url": "http://disqus.com/guest/8babda4edbc0b29c0dc2566944ca896e/", "registered": false, "linkedin": "", "blog": "http://mollymoran.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": ""}, "d545c0d169122900c6902f86d7b59dca": {"username": "jspad", "tumblr": "", "display_name": "jspad", "url": "http://disqus.com/guest/d545c0d169122900c6902f86d7b59dca/", "registered": false, "linkedin": "", "blog": "http://12frogs.com/12/", "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": ""}, "06b3556407240514460bc7d7ff309210": {"username": "Eric Ehrmann", "tumblr": "", "display_name": "Eric Ehrmann", "url": "http://disqus.com/guest/06b3556407240514460bc7d7ff309210/", "registered": false, "linkedin": "", "blog": "http://www.socialmediatoday.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": ""}, "c0a78cccc990b45fc97cb0c7f2e3954e": {"username": "Susan Scrupski", "tumblr": "", "display_name": "Susan Scrupski", "url": "http://disqus.com/guest/c0a78cccc990b45fc97cb0c7f2e3954e/", "registered": false, "linkedin": "", "blog": "http://www.susanitsa.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": ""}, "009e6cfa7b76d00aca18ea6c2c5f9288": {"username": "Real Estate Templates", "tumblr": "", "display_name": "Real Estate Templates", "url": "http://disqus.com/guest/009e6cfa7b76d00aca18ea6c2c5f9288/", "registered": false, "linkedin": "", "blog": "http://www.dreamweaver-templates.net/real-estate-templates.htm", "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": ""}, "d4055298cb7349c1e9e3999f14dca493": {"username": "Stefan Deak", "tumblr": "", "display_name": "Stefan Deak", "url": "http://disqus.com/guest/d4055298cb7349c1e9e3999f14dca493/", "registered": false, "linkedin": "", "blog": "http://online-pr.se/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": ""}, "6b164485e91aea5b2e64243c65846181": {"username": "Kim Feraday", "tumblr": "", "display_name": "Kim Feraday", "url": "http://disqus.com/guest/6b164485e91aea5b2e64243c65846181/", "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": ""}, "260d73c91735a060c27952abb26e10df": {"username": "RConley7", "tumblr": "", "display_name": "RConley7", "url": "http://disqus.com/guest/260d73c91735a060c27952abb26e10df/", "registered": false, "linkedin": "", "blog": "http://www.uml.edu", "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": ""}, "2faba587c75f19671b877ee2d67a1cde": {"username": "Joe Schueller", "tumblr": "", "display_name": "Joe Schueller", "url": "http://disqus.com/guest/2faba587c75f19671b877ee2d67a1cde/", "registered": false, "linkedin": "", "blog": "http://twitter.com/joeschueller", "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": ""}, "marcsherron": {"username": "marcsherron", "tumblr": "", "display_name": "marcsherron", "url": "http://disqus.com/marcsherron/", "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": ""}, "d0537deafac4a0ab461650ec6db79858": {"username": "powershot", "tumblr": "", "display_name": "powershot", "url": "http://disqus.com/guest/d0537deafac4a0ab461650ec6db79858/", "registered": false, "linkedin": "", "blog": "http://oksaa.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": ""}, "469cf26d6a687dd9aadfb9d661f13767": {"username": "Tx Hill Country Realty", "tumblr": "", "display_name": "Tx Hill Country Realty", "url": "http://disqus.com/guest/469cf26d6a687dd9aadfb9d661f13767/", "registered": false, "linkedin": "", "blog": "http://www.txhillcountryrealty.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": ""}, "a1455ed437e3d71612483873cd172336": {"username": "W David Stephenson", "tumblr": "", "display_name": "W David Stephenson", "url": "http://disqus.com/guest/a1455ed437e3d71612483873cd172336/", "registered": false, "linkedin": "", "blog": "http://stephensonstrategies.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": ""}, "1af252cf37e59891f19ad23f672fea05": {"username": "Kate Carruthers", "tumblr": "", "display_name": "Kate Carruthers", "url": "http://disqus.com/guest/1af252cf37e59891f19ad23f672fea05/", "registered": false, "linkedin": "", "blog": "http://carruthk.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": ""}, "3fadd543f470aa95640ee463e163170c": {"username": "Chris Rasmussen", "tumblr": "", "display_name": "Chris Rasmussen", "url": "http://disqus.com/guest/3fadd543f470aa95640ee463e163170c/", "registered": false, "linkedin": "", "blog": "http://www.fcw.com/blogs/editor/153195-1.html", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "7416ade01044f2e1ca0f2e605e2fe451": {"username": "Adrius42", "tumblr": "", "display_name": "Adrius42", "url": "http://disqus.com/guest/7416ade01044f2e1ca0f2e605e2fe451/", "registered": false, "linkedin": "", "blog": "http://e-trust.blogspot.com/2008/07/civility-20.html", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "377fb14d630214d41cb66b9341319381": {"username": "sengseng", "tumblr": "", "display_name": "sengseng", "url": "http://disqus.com/guest/377fb14d630214d41cb66b9341319381/", "registered": false, "linkedin": "", "blog": "http://www.twitter.com/sengseng", "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": ""}, "d727a14c7e1fac1664b567d3424b4a6b": {"username": "David Hobbie", "tumblr": "", "display_name": "David Hobbie", "url": "http://disqus.com/guest/d727a14c7e1fac1664b567d3424b4a6b/", "registered": false, "linkedin": "", "blog": "http://caselines.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": ""}, "ba5f8acde7877bbf2d4d2e6a5f613271": {"username": "Kishore Balakrishnan", "tumblr": "", "display_name": "Kishore Balakrishnan", "url": "http://disqus.com/guest/ba5f8acde7877bbf2d4d2e6a5f613271/", "registered": false, "linkedin": "", "blog": "http://www.kishore.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": ""}, "ceb568ef25b8b4c42bb6e85baa10ec47": {"username": "Hill Country Ranch Land", "tumblr": "", "display_name": "Hill Country Ranch Land", "url": "http://disqus.com/guest/ceb568ef25b8b4c42bb6e85baa10ec47/", "registered": false, "linkedin": "", "blog": "http://www.jimmyreno.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": ""}, "898725b8396e99794f2368edce22fcfd": {"username": "Terry", "tumblr": "", "display_name": "Terry", "url": "http://disqus.com/guest/898725b8396e99794f2368edce22fcfd/", "registered": false, "linkedin": "", "blog": "http://www.lightingsupply.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": ""}, "a0cc8d29f54a4d8b959b7f702c347ab7": {"username": "Lars Haugstad", "tumblr": "", "display_name": "Lars Haugstad", "url": "http://disqus.com/guest/a0cc8d29f54a4d8b959b7f702c347ab7/", "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": false, "name": "Andrew McAfee&#39;s Blog", "streaming_realtime": false, "url": "andrewmcafee", "allow_anon_post": true, "reactions_enabled": true, "reply_position": 0, "show_avatar": true, "allow_anon_votes": false, "disqus_auth_disabled": false}, "realtime_enabled": false, "request": {"username": "", "is_global_moderator": false, "sharing": {}, "sort": 2, "forum": "andrewmcafee", "is_initial_load": true, "is_authenticated": false, "timestamp": "2009-12-04_00:28:07", "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": null}, "realtime_paused": false, "posts": {"21290838": {"up_voted": false, "ip": "", "has_replies": false, "message": "Facebook has proven to be a useful tool for me as a Real Estate Professional in the Texas Hill Country. In the short time using it I have already generated several leads and referrals.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2009-10-29_16:50:52", "killed": false, "user_key": "469cf26d6a687dd9aadfb9d661f13767", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "10/29/2009 03:50 PM", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "21145887": {"up_voted": false, "ip": "", "has_replies": false, "message": "We have recently started using Facebook as part of our advertising program. We have been supprised and delighted with the resultes of that endeavor. We are in the process of learning more as to how we can better use FB for our Real Estate business. I think you are right on target.<br><br>Marc Sherron <br> <a href=\"http://www.sherronproperties\" rel=\"nofollow\">www.sherronproperties</a>. com", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2009-10-27_20:29:59", "killed": false, "user_key": "marcsherron", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "10/27/2009 07:29 PM", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "5487686": {"up_voted": false, "ip": "", "has_replies": false, "message": "Twitter is one of the best things that happend to Internet.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-11-02_14:24:00", "killed": false, "user_key": "d0537deafac4a0ab461650ec6db79858", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "11/02/2008 02:24 PM", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "5487687": {"up_voted": false, "ip": "", "has_replies": false, "message": "Ads can be eliminated, and application deployment can be controlled. And formal policies and informal norms can shape, if not dictate, what constitutes an acceptable contribution by a community member.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-10-23_01:31:31", "killed": false, "user_key": "ceb568ef25b8b4c42bb6e85baa10ec47", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "10/23/2008 12:31 AM", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "5487688": {"up_voted": false, "ip": "", "has_replies": false, "message": "Regarding Twitter, it's biggest I agree and disagree with you. The problem is I can't filter the feeds in a way that works for me. I use TechCrunch, Gigaom, mashable etc. to keep up to date on what's going on in the tech industry for example. It's very useful but I have to accept other feeds among these. What Twitter needs to do is let me create my own Twitter channels so I can select the ones I want to see. Sometimes I do want personal tweets, but I agree I don't want to have to filter through all of them to get to work related stuff.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-11-06_13:52:52", "killed": false, "user_key": "6b164485e91aea5b2e64243c65846181", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "11/06/2008 01:52 PM", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "5487689": {"up_voted": false, "ip": "", "has_replies": false, "message": "I agree... Social networking and other web 2.0 intranet applications  will be interesting.  I am aware of a firm in Michigan developing these internal social networks for large employers. I love how Corporate America is embracing 2.0!", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-08-01_09:16:22", "killed": false, "user_key": "898725b8396e99794f2368edce22fcfd", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "08/01/2008 08:16 AM", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "5487690": {"up_voted": false, "ip": "", "has_replies": false, "message": "Your blog pre-dated mine by 2 days, and I was surprised by the parrelism. Though I suppose we are all hitting similar issues at about the same time. The concept I was pleading for in my Civility 2.0 Blog aimed to allow the sender to signal the \"Loudness\" of the message so that the reader could choose to \"e-listen\"  or not. <br><a href=\"http://e-trust.blogspot.com/2008/07/civility-20.html\" rel=\"nofollow\">http://e-trust.blogspot.com/2008/07/civility-20...</a><br><br>I agree with many of your commenters; a key power of micro-blogs is the ambient-intimacy that they generate. However, that doesn't mean the tools should not evolve mechanisms that allow us to be polite or civil on the web. This would allow one to tune into the \"tweets\" that you want to recieve, combined with topic hashtags one would be able develop the ability to e-listen similar to the way we can listen as humans.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-08-06_06:46:28", "killed": false, "user_key": "7416ade01044f2e1ca0f2e605e2fe451", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "08/06/2008 05:46 AM", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "5487691": {"up_voted": false, "ip": "", "has_replies": false, "message": "The integration between the applications is where I find the greatest interest.  Now when I Twitter it updates my Facebook status, so I'm relying on Facebook for overall gateway but enjoy the text from phone status updates to Twitter.   I also enjoy ability to post status update from Twitter onto my blog.   The challenge is finding the best way to put your internet life puzzle together.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-08-11_13:48:52", "killed": false, "user_key": "260d73c91735a060c27952abb26e10df", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "08/11/2008 12:48 PM", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "5487692": {"up_voted": false, "ip": "", "has_replies": false, "message": "I agree that the boss can verbally (or even electronically) control the use of the technology as much as he/she can control the writing on the wall with crayons. I am wondering when Facebook is going to integrate tools for online collaboration, as Facebook is frequently being banned in the corporate world. Maybe we will see an alliance between Google and Facebook soon!", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-10-11_23:27:04", "killed": false, "user_key": "009e6cfa7b76d00aca18ea6c2c5f9288", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "10/11/2008 10:27 PM", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "5487693": {"up_voted": false, "ip": "", "has_replies": false, "message": "Still I don't mind the cluttering or noise or what those kinds of nonsense entries should be called. Rather I see it as a kind of social stuph binding the group together. First it will allow me to learn to now the people on my twitter list better in terms of preferences. Also my personal experience from idea generation is that its hard to say what will be the catalyst for a great idea. It could as well be a post about what someone is wishing to have for lunch. I'm sort of a random thinker though and I'm certain there are plenty of strict techniques to generate an idea. They may however not be that effective or fun to work with.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-08-01_02:59:12", "killed": false, "user_key": "d4055298cb7349c1e9e3999f14dca493", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "08/01/2008 01:59 AM", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "5487694": {"up_voted": false, "ip": "", "has_replies": false, "message": "I use social networking sites strictly to find others that are working toward the same goals as I am.  I don't get involved in the \"clutter\" That is one of the good things about social networking - you can pick and choose whom you want to associate with.  There are so many different types of social networks out there, if one doesn't fit after giving it a fair try, move to another.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-07-30_06:02:24", "killed": false, "user_key": "6e786934381a2f03a5f460a7d43f0a55", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "07/30/2008 05:02 AM", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "5487695": {"up_voted": false, "ip": "", "has_replies": false, "message": "A true collaborative platform will have it's social culture emerge based on the group that occupies it space. It will live with both the good and bad based on people, not technology.<br><br>If the physical work environment is full of stress and anxiety, this will probably translate to the online environment very quickly.<br><br>Conversely, a company who values their workforce and encourages social responsibility through leadership and positive reinforcement will likely thrive online.<br><br>In short, good people make for a good environment.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-07-29_16:04:19", "killed": false, "user_key": "ebf90ca6423a958d31b6fb90732b1c9f", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "07/29/2008 03:04 PM", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "5487696": {"up_voted": false, "ip": "", "has_replies": false, "message": "The things you find vexing, I, in my other than politically correct world, find troubling. One can tune out the clutter and sometimes have fun with Facebook in the rackspace. But the amusement fades when one realizes he or she has, wittingly or unwittingly, become meat for someone's online marketing plan to drive traffic and \"monetize\" their ROR (return on relationships). Twitter doesn't seem to have a real business plan. And \"what are you doing\" is the most controlling question on the planet. If the early adoption badge of courage is taking abuse, then Twitter's your place because it's down so much. Ironic that the big downtime problems started when folks began touting the tweet as the future for homeland security and disaster communication. The US put a man on the moon with a rock solid communications infrastructure before DARPA was fronting points for the internet and it was funded by tax dollars; Twitter seeks to pass alot of the development costs and the aggro, on to investors, and folks who tweet sometimes, like me and you.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-07-29_22:30:40", "killed": false, "user_key": "06b3556407240514460bc7d7ff309210", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "07/29/2008 09:30 PM", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "5487697": {"up_voted": false, "ip": "", "has_replies": false, "message": "I agree with Puneet.  We need to keep in mind that Enterprise 2.0 is not, and will never be, the same as Web 2.0.  This is because the technology is more than the tool: it is also the culture of use surrounding the tool.  Only strict determinists should expect that by plunking a tool in an enterprise we can bring about innovation, new work practices, and the like.  <br><br>We forget that Facebook, Twitter, and such Web 2.0 tools do have a particular culture of use.  They have a large audience, or user base, but these groups do have particular cultural values and norms.  In the enterprise, the culture will necessarily be different.  Therefore, these technologies will necessarily appear, and be, different than their similarly-tooled counterparts on the Internet.  <br><br>In the early days, scholars explored the blog genre.  I would argue that the blog is a medium, from which we have seen several genres evolve.  The Intelligence Community blog genre, for example, is much different from the personal-memoirs-of-a-teenage-girl blog genre.  I would venture that this applies to other technologies as well.  Twitter has a different culture of use than the theoretical EnTwitter, and therefore is a different genre, and maybe even a different technology (if we define technology as tool + its use).  <br><br>Andrew, if you're interested, I wrote my master's thesis on the genres and cultures of use of Web 2.0 tools in the US Department of State.  It's not published, but I would be happy to share it with you.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-07-29_11:39:39", "killed": false, "user_key": "8babda4edbc0b29c0dc2566944ca896e", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "07/29/2008 10:39 AM", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "5487698": {"up_voted": false, "ip": "", "has_replies": false, "message": "Andrew<br><br>I was one of your interviewees back with Sean and Don some months ago.  I notice that in the enterprise there is some of the frivolity and \"office joke\" stuff but it seems to be at a minimum since there is so much accountability - ie Intellipedia. I haven't found the need to twitter quite yet but I can see the power in the enterprise (microblogging on meaningful events germain to the enterprise).  Again, I believe it will self correct to conform to the cultural character of the enterprise.  I agree it might become \"blander\" socially but these tools will make the enterprise a much richer and substantive network. <br><br>BTW - I picked up on your link in your status update in FB.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-07-27_17:49:03", "killed": false, "user_key": "9420e53f04c5a877aa5df3b2a821ea9c", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "07/27/2008 04:49 PM", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "5487699": {"up_voted": false, "ip": "", "has_replies": false, "message": "I'm not so much worried about norms or policies sucking the joy out of using these tools. They're certainly not what someone in HR or Corp Comm might come up with, but there <em>are</em> norms when it comes to using twitter or facebook already.<br><br>I worry about the firewalled nature of the tools sucking the joy out of using them. As others have already asked in previous comments, why would I use an internal corporate channel for this stuff? Public twitter works for me -- I'm not going to adopt an internal-use-only tool. I contribute bookmarks to my company's installation of Dogear, but I import them in batches from my public del.icio.us account. <br><br>I'll bring things of value back behind the firewall, but I'm not going to spend much time cultivating plants that can't be easily transplanted.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-07-28_13:00:57", "killed": false, "user_key": "d545c0d169122900c6902f86d7b59dca", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "07/28/2008 12:00 PM", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "5487700": {"up_voted": false, "ip": "", "has_replies": false, "message": "You might want to look at the discovery aspects of some of these apps which is quite nice. For example, i had 6 of my friends join the fan club of a rock band when they saw it on my updates. This one's not about applications, but the point remains the same.<br><br>Twitter, i would think, is a really cool one for what i like to call \"thought of the moment\". Whatever you are thinking right now, you can just go and plug it in there.<br><br>Thanks, Atul.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-07-28_03:29:35", "killed": false, "user_key": "5737e7a9764dc48eb52d53f238e67f68", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "07/28/2008 02:29 AM", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "5487701": {"up_voted": false, "ip": "", "has_replies": false, "message": "Andrew--<br><br>I agree with some of the earlier comments that suggest that filtering out the \"lunch noise\" would diminish the value of the network of weak ties.  <br><br>I'll give an actual example through a story, a la Prusak.  At the Enterprise 2.0 conference where I met you, I also met a fellow knowledge management professional, a colleague at roughly the same level as I at another professional services firm.  I started to follow her on Twitter, and learned a few weeks ago that she, like me, enjoys kayaking.  We tweeted about the subject, and now have a ready topic to bond over in addition to our professional activities the next time we meet in person.  <br><br>David", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-07-28_12:44:15", "killed": false, "user_key": "d727a14c7e1fac1664b567d3424b4a6b", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "07/28/2008 11:44 AM", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "5487702": {"up_voted": false, "ip": "", "has_replies": false, "message": "Hopefully this puts to rest the theory that these consumer focused popular Web 2.0 applications can simply throw open a switch and make it work for the enterprise. <br>I'd personally, even go as far out and say that innovation in the consumer Web 2.0 world has almost stalled. Things are just going around in circles rather than in an upward trajectory (when it comes to new features and ideas in the consumer Web 2.0 world).<br><br>In the enterprise world, we're just barely getting started. I believe the spectrum for innovation is much wider in the business world than in the consumer world, as there are many more types of use cases in the business world. <br><br>I believe figuring out applicability in the business world will drive forward innovation in the Web 2.0 world. An example would be, who'd a thought (in the consumer world) combining a digg or del.icio.us with a LinkedIn (social bookmarking, Tagging, with Social Networking) would make sense? Though, this combination seems to be working out reasonably well when applied to enterprises.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-07-28_05:19:00", "killed": false, "user_key": "b1c6be08e46e3af0dc96c9aa19aa69c2", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "07/28/2008 04:19 AM", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "5487703": {"up_voted": false, "ip": "", "has_replies": false, "message": "Great subject.  Your comments may be generalized to fit all social networking, Web 2.0, applications hosted outside the Enterprise.  You pay for the value of the service by enduring the noise.  Why would serious users endure the noise?  They may not have any choice if they want the services; the Enterprise version of the tool may not be available, either by choice of the Enterprise decision makers, or by a lack of vision.  Does this mean they should not be used?<br><br>To improve as a professional, to make headway in an organization, or to simply be recognized as a contributor, you need an edge.  In my opinion, effectively using these social and business networking tools may provide that edge.  If the organizations hasn\u00c2\u2019t recognized the value of these tools, that may mean waiting until you get home from work to get online and get to work.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-07-28_17:16:09", "killed": false, "user_key": "19c28d540ec97ba23a16cf1972f7814f", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "07/28/2008 04:16 PM", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "5487704": {"up_voted": false, "ip": "", "has_replies": false, "message": "ps - we all know that the \"significance\" of an event can change based on future events. in the case of what, when and where someone eats for lunch, you might find this of great interest if a bout of food poisoning breaks out...", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-07-27_15:59:56", "killed": false, "user_key": "377fb14d630214d41cb66b9341319381", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "07/27/2008 02:59 PM", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "5487705": {"up_voted": false, "ip": "", "has_replies": false, "message": "I too just joined the Twitterverse (<a href=\"http://twitter.com/sradick\" rel=\"nofollow\">http://twitter.com/sradick</a>), and am finding many of the same things to be true.  However, I think that this post by Robert Scoble helps to explain some of that - <br><a href=\"http://scobleizer.com/2008/05/18/why-google-news-has-no-noise/\" rel=\"nofollow\">http://scobleizer.com/2008/05/18/why-google-new...</a><br><br>Yes, there's a lot of noise (ads, what people ate for lunch, etc.), but there is also a lot of value.  If you take away the noise, I would argue that you would also be taking away a lot of the value. Once you start filtering things based on one person's judgments, it's a very slippery slope to those gatekeepers that have made traditional media so sanitized and boring. Take Facebook's Beacon app - that's an application that the community rebelled against, and it's now in the scrap heap.  So a group of people somewhere (a very weird group) has found value in these weird applications - that's why they're still around.<br><br>Spin this around to the Enterprise.  Doesn't that same slippery slope apply when your boss says that you're only allowed using EnTwitter to discuss the Belle Jolie account?  If the scope of such a tool gets defined by the \"boss\" rather than the community, would the community continue to use it?  <br><br>I agree that there need to be rules within the Enterprise that govern the use of these tools, but at the same time, the people making the rules have to realize the ramifications of their decisions. Simply disallowing non-work activity on these tools doesn't just eliminate non-work activity, it can also domino and impact actual work activity that may not get captured.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-07-27_13:30:04", "killed": false, "user_key": "4bb9fd6ce2527e89383791878e5d4c63", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "07/27/2008 12:30 PM", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "5487706": {"up_voted": false, "ip": "", "has_replies": false, "message": "BTW...I actually came across this post via your recent Tweet about it.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-07-27_13:30:43", "killed": false, "user_key": "4bb9fd6ce2527e89383791878e5d4c63", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "07/27/2008 12:30 PM", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "5487707": {"up_voted": false, "ip": "", "has_replies": false, "message": "I'd agree about the proliferation of strange Facebook apps, but differ about Twitter. I had same reservations about it at 1st: my first blog post (that was back when I used to blog 3-4 x a day -- now I tweet 5-10 a day and almost never blog, alas) about it bemoaned the \"wow, that was a great sandwich\" or \"sometimes it's tough being a grownup\" tweets I read. Now I find it invaluable, in part because I do learn about the personal lives and interests of people I respect, even though sometimes I'd rather hear a little less (and perhaps others feel the same about my tweets, I assume). I've found others in IT with mutual interest in \"Square Foot Gardening,\" for example, and others going through family health challenges. All in all, I'll take the excess, thank you...", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-07-27_14:49:21", "killed": false, "user_key": "a1455ed437e3d71612483873cd172336", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "07/27/2008 01:49 PM", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "5487708": {"up_voted": false, "ip": "", "has_replies": false, "message": "I look to Twitter as a means of sharing ideas and information I personally find interesting.  Some might call it microblogging.  I cull anyone that tweets about their macro/personal activities.  To each their own but I don't think that needs to be public / online, anywhere.<br><br>My FB profile is \"I don't play with Facebook crowds, you know where to find me...\"", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-07-27_12:00:11", "killed": false, "user_key": "cd5ed76dc84c036fc2ddbc6ada6adef7", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "07/27/2008 11:00 AM", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "5487709": {"up_voted": false, "ip": "", "has_replies": false, "message": "I feel the same way about the overwhelming amount of strange and esoteric Facebook applications.  I often use the Clay Shirky line \u00c2\u201cthey are not talking to you\u00c2\u201d when people at work see esoteric blog and wiki titles and comment \u00c2\u201cwho would read that, what a waste of time.\u00c2\u201d  They are talking to their office, team, or colleagues interested in that topic\u00c2\u2014just ignore it.  It\u00c2\u2019s very easy to ignore things that are not in email such as RSS aggregator content and Facebook application alerts because I can look at it on my time opposed to blasted in my face like email.<br><br>As you noted in the Facebook at Serena post, there are advantages to posting non-work related content because it can strike up a personal conversation that may lead to professional collaboration.  <br>I recently helped write our organization\u00c2\u2019s guidance on non-work related social media posts and noted there are advantages to having fun and posting about Corvette car clubs at work.  When workers don\u00c2\u2019t trust each other, which is the rule not the exception, they submit generic content to E 2.0 tools, especially wikis, because they think they \u00c2\u201cown\u00c2\u201d the analysis or ideas and their non-trusted colleagues will \u00c2\u201csteal\u00c2\u201d their ideas.   Making things personal, light-hearted, or fun can help establish trust that can lead to \u00c2\u201cmeatier\u00c2\u201d content and working on the hard problems rather than submitting generic content.<br><br>I\u00c2\u2019ll admit it, it annoys me when nerds post iPhone-worshiping blogs at work but they know the score\u00c2\u2014it\u00c2\u2019s ok to do it once and awhile. <br><br>As I like to say when people make unfair comparisons about social media at work, \u00c2\u201cIf I post a Penthouse picture on my office door, you don\u00c2\u2019t ban the door, you deal with me.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-07-27_14:16:03", "killed": false, "user_key": "3fadd543f470aa95640ee463e163170c", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "07/27/2008 01:16 PM", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "5487710": {"up_voted": false, "ip": "", "has_replies": false, "message": "as a self-proclaimed twitter-holic, part of twitter's \"stream of consciousness\" draw is the freedom of expression. yes it's easy to get caught up in sharing the minutia of one's day, but sometimes this offers the greatest insight into a person and more importantly the opportunity to build trust. i've benefited from and helped online friends, ones i've never met in person, solely based on a connection i've made with them (for example, sharing the same musical taste). from an intelligence perspective, i'd be just as interested in the minutia as the \"big ticket\" declarations and would be cautious to dismiss the finer, more personalized details.<br><br>i assume in the not-so-distant future we will see, in apps like twitter, levels and spheres (classification if you will) of sharing so you won't have to hear what i or anyone else is eating for lunch.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-07-27_12:41:48", "killed": false, "user_key": "377fb14d630214d41cb66b9341319381", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "07/27/2008 11:41 AM", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "5487711": {"up_voted": false, "ip": "", "has_replies": false, "message": "After having received numerous vampire bites and being sold on facebook for the price of a Junior Bacon Cheeseburger and a small coke, I am starting to doubt if Facebook has made an unwise move to integrate all these silly applications and failing to provide applications of real substance. (There are certain interesting applications, yet none to make it the \"operating platform of the internet\" as I understand Facebook's vision.)<br><br>In an enterprise context, I agree that the boss can verbally (or even electronically) control the use of the technology as much as he/she can control the writing on the wall with crayons. I am wondering when Facebook is going to integrate tools for online collaboration, as Facebook is frequently being banned in the corporate world. Maybe we will see an alliance between Google and Facebook to integrate their office software into the facebook platform?<br><br>I am a little ignorant as far as Twitter is concerned (twignorant?), but from what I have heard it is largely a tool to keep up to speed on other people's trivialities.<br><br>I'm thinking I am going for sushi for dinner today. Most definitively. Prepare for my facebook status update.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-07-27_12:48:56", "killed": false, "user_key": "a0cc8d29f54a4d8b959b7f702c347ab7", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "07/27/2008 11:48 AM", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "5487712": {"up_voted": false, "ip": "", "has_replies": false, "message": "A general insight from practice is that information systems work better the less decisions the user has to make. Richness of a medium can on the other hand increase communication effectiveness.<br><br>So the question is more about what you want to reach with the tool at hand. I don't think that the nature of the task can be left out of the discussion.<br><br>From an enterprise perspective I can only share your views. More condensed versions of the tools will certainly help. Only though if a critical mass is using them already. For introduction I assume freedom of expression (and may it be with a facebook werewolves invitation) to be a great concept. In the course some restriction or structuration will definitely not harm the outcome.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-07-27_11:54:27", "killed": false, "user_key": "04c3635bdd672c1bb01eab3f5e650d01", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "07/27/2008 10:54 AM", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "5487713": {"up_voted": false, "ip": "", "has_replies": false, "message": "I think you're hitting on a couple of nerves here...<br><br>First, social media isn't annoying in and of itself, it just gives people who are annoying the tools to do it faster, louder, and more broadly than ever before.  This is early, people are doing a lot of silly stuff just to show/prove they can.  Eventually, as the entire media matures, people will master the art of filtering and the art of not getting filtered by their target audience.<br><br>Culturally, the vast majority of the users are of a demographic or mindset where the lines between work/play are (at best) rather blurry.  You'd have a hard time distinguishing between many of their \"friends\" and people they do business with/for.  Working for a big company, we've often tried to help employees balance their work and personal lives, but increasingly, people believe work is what they do, not where/when they do it, or even who they do it for.  As social media continues to grease away the friction of time/place collaboration, this is a trend that will only continue.  It is going to get increasingly tough to separate the work life from the personal one (ie: I got the notice of this blog posting via Twitter while seeing what my friends/co-workers we're doing today).  <br><br>If that line is blurred, will you have to create parallel Twitterverses for work vs. personal, can there be room for 2 separate streams, or will there really only be 1?  As I experiment with social tools here, I worry less about management sucking the \"fun\" out of them and much more about how do I \"compete\" with the habits, practices, and tools people are already adopting.<br><br>Thanks for the thoughtful post...  a lot in here to chew on.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-07-27_11:57:10", "killed": false, "user_key": "2faba587c75f19671b877ee2d67a1cde", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "07/27/2008 10:57 AM", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "5487714": {"up_voted": false, "ip": "", "has_replies": false, "message": "Since email / wiki / forums and other tools in an enterprise have norms and policies, providing similar policies will definitely be necessary. Of course, simple overall signal vs noise reporting will help the participants and encourage everyone to participate", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-07-27_10:53:12", "killed": false, "user_key": "ba5f8acde7877bbf2d4d2e6a5f613271", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "07/27/2008 09:53 AM", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "5487715": {"up_voted": false, "ip": "", "has_replies": false, "message": "Andrew,<br><br>I have gotten very much into using Twitter these past few months. And I have to say that I like the \"what I'm having for lunch\"-type messages.<br><br>I work from home. So I don't have an office with people around me sharing minutia about their lives.<br><br>Twitter serves that purpose for me. I have a pretty small group of people I follow. I have a direct connection to these people, or at least an interest in their work. Knowing about where they are (near me? thousands of miles away?), what movies they like, etc., teaches me more about their full life, i.e., their life outside of work/academia.<br><br>I think this has use in the enterprise space as well. As colleagues increasingly work together without being in the same space, they will need tools to bring them closer. <br><br>Twitter is one.<br><br>regards, John", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-07-27_10:54:34", "killed": false, "user_key": "e2012deeda0920c588489e16c4300cb3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "07/27/2008 09:54 AM", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "5487716": {"up_voted": false, "ip": "", "has_replies": false, "message": "Prof. McAfee,<br><br>Thank-you for an excellent blog entry, I enjoy your writing very much.  In response to your question, please note that my comments are from personal experience and not broad based study.  I have found social networks used on the fringes of business, not in core businesses.  I'll offer an example of the first and some reasons for the second.<br><br>Use in the Fringes of Business<br>Please note that my saying \"Fringes\" is not pejorative, but rather it refers to the outer edges of the network, which is where the really interesting things happen.<br><br>One of the great things about FB (Facebook) is that it allows people to create verifiable and yet pseudonymous users.  Furthermore, it allows you to create private groups, where only people who are known and invited can participate.  Might there not be groups who want to securely blog and discuss events who might find FB useful?<br><br>Core Businesses Concerned about Social Tools<br>Many executives and managers in core businesses are rightfully concerned about the time wasting that accompanies FB and other social tools.  There is also a security threat, which is very real.  Additionally, there is the bigger issue, that there isn't a clearly defined business problem that social tools solve.  Finally, there is the hurdle that many in IT view social networks, SaaS, etc as a threat.  This is a valid concern, which, coupled with other issues, will probably keep social tools out of core business applications.<br><br>There are business leaders struggling to get blogging and other social/collaborative tools used in corporations.  Their struggles are interesting to consider and offer interesting insights that the creators of social tools are not paying as much attention to as they should.<br><br>This is an area of great interest to me and I would love to know your insights.<br><br>Andy", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-07-26_18:02:50", "killed": false, "user_key": "b6262cccad9c67c2a7e70f8cf24517ae", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "07/26/2008 05:02 PM", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "5487717": {"up_voted": false, "ip": "", "has_replies": false, "message": "Harrumph.  <br><br>Although I have to admit I ignore most silliness on Facebook that comes in the way of viral apps, with Twitter, I think it's necessary to include the noise.<br><br>Twitter gives us a 360-degree view of our social  community.  A (Twitter) friend said it best, \"I was interviewed about my use of Twitter by our company recently.  Someone asked me if my posts were a little too personal.  I said, why? I'm a person.\" (Abbie Lundberg, editor, CIO magazine.)<br><br>Through the connectedness of micro-blogging, we really get to know each other.  It dramatically condenses the time it takes to build a trust relationship.  The weak tie theory is predicated on trust and reliability.  <br><br>To enforce a strictly business policy on an \"enTwitter\" would handicap the tool's most beneficial advantage: our ability to create real relationships vs. interfacing with business contacts.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-07-26_18:51:51", "killed": false, "user_key": "c0a78cccc990b45fc97cb0c7f2e3954e", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "07/26/2008 05:51 PM", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "5487718": {"up_voted": false, "ip": "", "has_replies": false, "message": "Twitter is most useful to facilitate (and reinforce ties among) an existing social network. Trying to build an all-Twitter social network of any utility from scratch is apt to be a frustrating experience unless you are already a person well known enough to attract followers.<br><br>I limit my following fairly strictly. About 60 % of my use of twitter revolves around contact with fellow national security/defense/Intel/foreign policy bloggers, some of whom I have met in person and others that <br>I have not. While there is much social chatter we also trade ideas, articles, posts and make arrangements to connect elsewhere. I find twitter to be highly useful in that regard ( when it's working, that is)<br><br>The remaining 40 % is contact with experts in different fields, responding to inquiries, bloviating on trivia or linking.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-07-27_00:14:40", "killed": false, "user_key": "79296b5e928ab254e8c7c53b77a76075", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "07/26/2008 11:14 PM", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "5487719": {"up_voted": false, "ip": "", "has_replies": false, "message": "It sounds like you are expressing a desire to use social networking channels, but want a higher degree of message salience and a lower level of noise.  This is a problem because our current technical capabilities to sort, filter and present the information in the myriad of ways different users might desire remains primitive.  This is why so many people are interested in semantic web ideas.  <br><br>In the enterprise environment there is a risk that the verve and spontenaeity characterising online social networks will be lost.  Thus the kind of corporate rules that will be imposed could crush emergence of community and the kinds of loose bonds that make social networks effective.  <br><br>BTW, why would I use an internal corporate channel when I get really good quality crowdsourced answers from Twitter (or Identi.ca) & Friendfeed?", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-07-27_02:14:07", "killed": false, "user_key": "1af252cf37e59891f19ad23f672fea05", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "07/27/2008 01:14 AM", "approved": 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": null, "theme": 1, "reply_position": false, "disqus_logo": false}, "timer": {"timer_url": "http://localhost:8005", "thread_id": "10392652", "user_id": "anonymous", "forum_id": "78088", "hash": 6080693423477659545}, "thread": {"days_alive": 0, "slug": "freedom_is_overrated", "paginate": false, "num_pages": 1, "num_posts": 36, "per_page": 0, "total_posts": 0, "realtime_paused": true, "id": 10392652, "queued": false}, "reactions_limit": 10, "context": {"show_reply": true, "use_fb_connect": false, "forum_facebook_key": "", "use_yahoo": false, "subscribed": false, "use_twitter_signin": true, "use_openid": true, "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: ";
};
// 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 = '21bc467119200cb06806902fa8e2f5b0';
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;



// 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://disqus.com/forums/andrewmcafee/freedom_is_overrated/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 {
			return parseInt(chunks[chunks.length-1]);
		}
	};

	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 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/andrewmcafee/_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">36</span> Comments\
	 &nbsp;\
	 <span class="dsq-item-feed">\
	 <a href="http://disqus.com/forums/andrewmcafee/freedom_is_overrated/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" >Popular now</option>\
	 <option value="best" >Best Rating</option>\
	 <option value="newest" selected="selected">Newest first</option>\
	 <option value="oldest" >Oldest first</option>\
	 </select>\
	 &nbsp;\
	 </span>\
	 <span class="dsq-item-cp"><a href="http://disqus.com/forums/andrewmcafee/freedom_is_overrated/">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">\
	 </div>\
		';

		
			html = Dsq.Templates.authPost() + html;
		

		
		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.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 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://disqus.com/forums/andrewmcafee/freedom_is_overrated/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 ' + (reaction.source == 'backtype' ? '<a href="http://backtype.com/">BackType</a>' : '<a href="' + reaction.source_url + '">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 '';
	};

	//
	// 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 Andrew McAfee&#39;s Blog" 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:10392652" onclick="Dsq.Popup.login(); return false">Login</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> \
								 \
								&nbsp;or&nbsp; \
									 <img src="http://media.disqus.com/images/openid-login-icon.png" alt="" /> \
									 <a href="#" onclick="Dsq.OpenID.requestURL(); return false">OpenID</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'				: 'andrewmcafee',
			't'				: 'freedom_is_overrated',
			// 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/andrewmcafee/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/andrewmcafee/freedom_is_overrated/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 onclick="Dsq.Popup._closePopup(null, true)"><strong>' + Dsq.Strings.NO + '</strong>, ' + Dsq.Strings.NEVER_MIND + '</button>&nbsp;&nbsp;&nbsp;<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/andrewmcafee/thread.js'
			+ '?slug='	+ 'freedom_is_overrated'
			+ '&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/andrewmcafee/thread.js'
			+ '?slug='	+ 'freedom_is_overrated'
			+ '&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/andrewmcafee/subscribe.js'
				+'?status=' 	+ status
				+ '&slug='		+ 'freedom_is_overrated'
				+ '&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 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 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.updateDaysAlive = function() {
		var days = Dsq.$('dsq-thread-days-alive').value;
		var status = Dsq.$('dsq-thread-settings-status');
		Dsq.Utils.postToUrl('http://disqus.com/forums/andrewmcafee/update_days_alive.js', {days:days,thread:Dsq.jsonData.thread.id});
		status.innerHTML = 'Saved!';
		window.setTimeout(function() { status.innerHTML = ''; }, 1000);
	};
};
// 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/10392652/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/andrewmcafee/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/andrewmcafee/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;
		});
	})();
}









(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-21290838">\
	 <div id="dsq-comment-header-21290838" class="dsq-comment-header">\
	 <cite id="dsq-cite-21290838" class="dsq-comment-cite">\
	 <a id="dsq-author-user-21290838" href="http://www.txhillcountryrealty.com/" target="_blank" rel="nofollow">Tx Hill Country Realty</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-21290838" class="dsq-comment-body">\
	 <div id="dsq-comment-message-21290838" class="dsq-comment-message">Facebook has proven to be a useful tool for me as a Real Estate Professional in the Texas Hill Country. In the short time using it I have already generated several leads and referrals.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-21145887">\
	 <div id="dsq-comment-header-21145887" class="dsq-comment-header">\
	 <cite id="dsq-cite-21145887" class="dsq-comment-cite">\
	 <span id="dsq-author-user-21145887">marcsherron</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-21145887" class="dsq-comment-body">\
	 <div id="dsq-comment-message-21145887" class="dsq-comment-message">We have recently started using Facebook as part of our advertising program. We have been supprised and delighted with the resultes of that endeavor. We are in the process of learning more as to how we can better use FB for our Real Estate business. I think you are right on target.<br><br>Marc Sherron <br> <a href="http://www.sherronproperties" rel="nofollow">www.sherronproperties</a>. com</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-5487688">\
	 <div id="dsq-comment-header-5487688" class="dsq-comment-header">\
	 <cite id="dsq-cite-5487688" class="dsq-comment-cite">\
	 <span id="dsq-author-user-5487688">Kim Feraday</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-5487688" class="dsq-comment-body">\
	 <div id="dsq-comment-message-5487688" class="dsq-comment-message">Regarding Twitter, it\'s biggest I agree and disagree with you. The problem is I can\'t filter the feeds in a way that works for me. I use TechCrunch, Gigaom, mashable etc. to keep up to date on what\'s going on in the tech industry for example. It\'s very useful but I have to accept other feeds among these. What Twitter needs to do is let me create my own Twitter channels so I can select the ones I want to see. Sometimes I do want personal tweets, but I agree I don\'t want to have to filter through all of them to get to work related stuff.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-5487686">\
	 <div id="dsq-comment-header-5487686" class="dsq-comment-header">\
	 <cite id="dsq-cite-5487686" class="dsq-comment-cite">\
	 <a id="dsq-author-user-5487686" href="http://oksaa.com" target="_blank" rel="nofollow">powershot</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-5487686" class="dsq-comment-body">\
	 <div id="dsq-comment-message-5487686" class="dsq-comment-message">Twitter is one of the best things that happend to Internet.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-5487687">\
	 <div id="dsq-comment-header-5487687" class="dsq-comment-header">\
	 <cite id="dsq-cite-5487687" class="dsq-comment-cite">\
	 <a id="dsq-author-user-5487687" href="http://www.jimmyreno.com" target="_blank" rel="nofollow">Hill Country Ranch Land</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-5487687" class="dsq-comment-body">\
	 <div id="dsq-comment-message-5487687" class="dsq-comment-message">Ads can be eliminated, and application deployment can be controlled. And formal policies and informal norms can shape, if not dictate, what constitutes an acceptable contribution by a community member.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-5487692">\
	 <div id="dsq-comment-header-5487692" class="dsq-comment-header">\
	 <cite id="dsq-cite-5487692" class="dsq-comment-cite">\
	 <a id="dsq-author-user-5487692" href="http://www.dreamweaver-templates.net/real-estate-templates.htm" target="_blank" rel="nofollow">Real Estate Templates</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-5487692" class="dsq-comment-body">\
	 <div id="dsq-comment-message-5487692" class="dsq-comment-message">I agree that the boss can verbally (or even electronically) control the use of the technology as much as he/she can control the writing on the wall with crayons. I am wondering when Facebook is going to integrate tools for online collaboration, as Facebook is frequently being banned in the corporate world. Maybe we will see an alliance between Google and Facebook soon!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-5487691">\
	 <div id="dsq-comment-header-5487691" class="dsq-comment-header">\
	 <cite id="dsq-cite-5487691" class="dsq-comment-cite">\
	 <a id="dsq-author-user-5487691" href="http://www.uml.edu" target="_blank" rel="nofollow">RConley7</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-5487691" class="dsq-comment-body">\
	 <div id="dsq-comment-message-5487691" class="dsq-comment-message">The integration between the applications is where I find the greatest interest.  Now when I Twitter it updates my Facebook status, so I\'m relying on Facebook for overall gateway but enjoy the text from phone status updates to Twitter.   I also enjoy ability to post status update from Twitter onto my blog.   The challenge is finding the best way to put your internet life puzzle together.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-5487690">\
	 <div id="dsq-comment-header-5487690" class="dsq-comment-header">\
	 <cite id="dsq-cite-5487690" class="dsq-comment-cite">\
	 <a id="dsq-author-user-5487690" href="http://e-trust.blogspot.com/2008/07/civility-20.html" target="_blank" rel="nofollow">Adrius42</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-5487690" class="dsq-comment-body">\
	 <div id="dsq-comment-message-5487690" class="dsq-comment-message">Your blog pre-dated mine by 2 days, and I was surprised by the parrelism. Though I suppose we are all hitting similar issues at about the same time. The concept I was pleading for in my Civility 2.0 Blog aimed to allow the sender to signal the "Loudness" of the message so that the reader could choose to "e-listen"  or not. <br><a href="http://e-trust.blogspot.com/2008/07/civility-20.html" rel="nofollow">http://e-trust.blogspot.com/2008/07/civility-20...</a><br><br>I agree with many of your commenters; a key power of micro-blogs is the ambient-intimacy that they generate. However, that doesn\'t mean the tools should not evolve mechanisms that allow us to be polite or civil on the web. This would allow one to tune into the "tweets" that you want to recieve, combined with topic hashtags one would be able develop the ability to e-listen similar to the way we can listen as humans.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-5487689">\
	 <div id="dsq-comment-header-5487689" class="dsq-comment-header">\
	 <cite id="dsq-cite-5487689" class="dsq-comment-cite">\
	 <a id="dsq-author-user-5487689" href="http://www.lightingsupply.com/" target="_blank" rel="nofollow">Terry</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-5487689" class="dsq-comment-body">\
	 <div id="dsq-comment-message-5487689" class="dsq-comment-message">I agree... Social networking and other web 2.0 intranet applications  will be interesting.  I am aware of a firm in Michigan developing these internal social networks for large employers. I love how Corporate America is embracing 2.0!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-5487693">\
	 <div id="dsq-comment-header-5487693" class="dsq-comment-header">\
	 <cite id="dsq-cite-5487693" class="dsq-comment-cite">\
	 <a id="dsq-author-user-5487693" href="http://online-pr.se/blog/" target="_blank" rel="nofollow">Stefan Deak</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-5487693" class="dsq-comment-body">\
	 <div id="dsq-comment-message-5487693" class="dsq-comment-message">Still I don\'t mind the cluttering or noise or what those kinds of nonsense entries should be called. Rather I see it as a kind of social stuph binding the group together. First it will allow me to learn to now the people on my twitter list better in terms of preferences. Also my personal experience from idea generation is that its hard to say what will be the catalyst for a great idea. It could as well be a post about what someone is wishing to have for lunch. I\'m sort of a random thinker though and I\'m certain there are plenty of strict techniques to generate an idea. They may however not be that effective or fun to work with.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-5487694">\
	 <div id="dsq-comment-header-5487694" class="dsq-comment-header">\
	 <cite id="dsq-cite-5487694" class="dsq-comment-cite">\
	 <a id="dsq-author-user-5487694" href="http://theadmaster.net" target="_blank" rel="nofollow">Sheila Sultani</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-5487694" class="dsq-comment-body">\
	 <div id="dsq-comment-message-5487694" class="dsq-comment-message">I use social networking sites strictly to find others that are working toward the same goals as I am.  I don\'t get involved in the "clutter" That is one of the good things about social networking - you can pick and choose whom you want to associate with.  There are so many different types of social networks out there, if one doesn\'t fit after giving it a fair try, move to another.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-5487696">\
	 <div id="dsq-comment-header-5487696" class="dsq-comment-header">\
	 <cite id="dsq-cite-5487696" class="dsq-comment-cite">\
	 <a id="dsq-author-user-5487696" href="http://www.socialmediatoday.com" target="_blank" rel="nofollow">Eric Ehrmann</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-5487696" class="dsq-comment-body">\
	 <div id="dsq-comment-message-5487696" class="dsq-comment-message">The things you find vexing, I, in my other than politically correct world, find troubling. One can tune out the clutter and sometimes have fun with Facebook in the rackspace. But the amusement fades when one realizes he or she has, wittingly or unwittingly, become meat for someone\'s online marketing plan to drive traffic and "monetize" their ROR (return on relationships). Twitter doesn\'t seem to have a real business plan. And "what are you doing" is the most controlling question on the planet. If the early adoption badge of courage is taking abuse, then Twitter\'s your place because it\'s down so much. Ironic that the big downtime problems started when folks began touting the tweet as the future for homeland security and disaster communication. The US put a man on the moon with a rock solid communications infrastructure before DARPA was fronting points for the internet and it was funded by tax dollars; Twitter seeks to pass alot of the development costs and the aggro, on to investors, and folks who tweet sometimes, like me and you.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-5487695">\
	 <div id="dsq-comment-header-5487695" class="dsq-comment-header">\
	 <cite id="dsq-cite-5487695" class="dsq-comment-cite">\
	 <a id="dsq-author-user-5487695" href="http://www.ijsolutions.ca/blog/" target="_blank" rel="nofollow">Joel Halse</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-5487695" class="dsq-comment-body">\
	 <div id="dsq-comment-message-5487695" class="dsq-comment-message">A true collaborative platform will have it\'s social culture emerge based on the group that occupies it space. It will live with both the good and bad based on people, not technology.<br><br>If the physical work environment is full of stress and anxiety, this will probably translate to the online environment very quickly.<br><br>Conversely, a company who values their workforce and encourages social responsibility through leadership and positive reinforcement will likely thrive online.<br><br>In short, good people make for a good environment.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-5487697">\
	 <div id="dsq-comment-header-5487697" class="dsq-comment-header">\
	 <cite id="dsq-cite-5487697" class="dsq-comment-cite">\
	 <a id="dsq-author-user-5487697" href="http://mollymoran.org" target="_blank" rel="nofollow">Molly Moran</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-5487697" class="dsq-comment-body">\
	 <div id="dsq-comment-message-5487697" class="dsq-comment-message">I agree with Puneet.  We need to keep in mind that Enterprise 2.0 is not, and will never be, the same as Web 2.0.  This is because the technology is more than the tool: it is also the culture of use surrounding the tool.  Only strict determinists should expect that by plunking a tool in an enterprise we can bring about innovation, new work practices, and the like.  <br><br>We forget that Facebook, Twitter, and such Web 2.0 tools do have a particular culture of use.  They have a large audience, or user base, but these groups do have particular cultural values and norms.  In the enterprise, the culture will necessarily be different.  Therefore, these technologies will necessarily appear, and be, different than their similarly-tooled counterparts on the Internet.  <br><br>In the early days, scholars explored the blog genre.  I would argue that the blog is a medium, from which we have seen several genres evolve.  The Intelligence Community blog genre, for example, is much different from the personal-memoirs-of-a-teenage-girl blog genre.  I would venture that this applies to other technologies as well.  Twitter has a different culture of use than the theoretical EnTwitter, and therefore is a different genre, and maybe even a different technology (if we define technology as tool + its use).  <br><br>Andrew, if you\'re interested, I wrote my master\'s thesis on the genres and cultures of use of Web 2.0 tools in the US Department of State.  It\'s not published, but I would be happy to share it with you.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-5487703">\
	 <div id="dsq-comment-header-5487703" class="dsq-comment-header">\
	 <cite id="dsq-cite-5487703" class="dsq-comment-cite">\
	 <span id="dsq-author-user-5487703">Randy Fine</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-5487703" class="dsq-comment-body">\
	 <div id="dsq-comment-message-5487703" class="dsq-comment-message">Great subject.  Your comments may be generalized to fit all social networking, Web 2.0, applications hosted outside the Enterprise.  You pay for the value of the service by enduring the noise.  Why would serious users endure the noise?  They may not have any choice if they want the services; the Enterprise version of the tool may not be available, either by choice of the Enterprise decision makers, or by a lack of vision.  Does this mean they should not be used?<br><br>To improve as a professional, to make headway in an organization, or to simply be recognized as a contributor, you need an edge.  In my opinion, effectively using these social and business networking tools may provide that edge.  If the organizations hasnÂ’t recognized the value of these tools, that may mean waiting until you get home from work to get online and get to work.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-5487699">\
	 <div id="dsq-comment-header-5487699" class="dsq-comment-header">\
	 <cite id="dsq-cite-5487699" class="dsq-comment-cite">\
	 <a id="dsq-author-user-5487699" href="http://12frogs.com/12/" target="_blank" rel="nofollow">jspad</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-5487699" class="dsq-comment-body">\
	 <div id="dsq-comment-message-5487699" class="dsq-comment-message">I\'m not so much worried about norms or policies sucking the joy out of using these tools. They\'re certainly not what someone in HR or Corp Comm might come up with, but there <em>are</em> norms when it comes to using twitter or facebook already.<br><br>I worry about the firewalled nature of the tools sucking the joy out of using them. As others have already asked in previous comments, why would I use an internal corporate channel for this stuff? Public twitter works for me -- I\'m not going to adopt an internal-use-only tool. I contribute bookmarks to my company\'s installation of Dogear, but I import them in batches from my public del.icio.us account. <br><br>I\'ll bring things of value back behind the firewall, but I\'m not going to spend much time cultivating plants that can\'t be easily transplanted.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-5487701">\
	 <div id="dsq-comment-header-5487701" class="dsq-comment-header">\
	 <cite id="dsq-cite-5487701" class="dsq-comment-cite">\
	 <a id="dsq-author-user-5487701" href="http://caselines.blogspot.com" target="_blank" rel="nofollow">David Hobbie</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-5487701" class="dsq-comment-body">\
	 <div id="dsq-comment-message-5487701" class="dsq-comment-message">Andrew--<br><br>I agree with some of the earlier comments that suggest that filtering out the "lunch noise" would diminish the value of the network of weak ties.  <br><br>I\'ll give an actual example through a story, a la Prusak.  At the Enterprise 2.0 conference where I met you, I also met a fellow knowledge management professional, a colleague at roughly the same level as I at another professional services firm.  I started to follow her on Twitter, and learned a few weeks ago that she, like me, enjoys kayaking.  We tweeted about the subject, and now have a ready topic to bond over in addition to our professional activities the next time we meet in person.  <br><br>David</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-5487702">\
	 <div id="dsq-comment-header-5487702" class="dsq-comment-header">\
	 <cite id="dsq-cite-5487702" class="dsq-comment-cite">\
	 <a id="dsq-author-user-5487702" href="http://www.connectbeam.com" target="_blank" rel="nofollow">Puneet Gupta</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-5487702" class="dsq-comment-body">\
	 <div id="dsq-comment-message-5487702" class="dsq-comment-message">Hopefully this puts to rest the theory that these consumer focused popular Web 2.0 applications can simply throw open a switch and make it work for the enterprise. <br>I\'d personally, even go as far out and say that innovation in the consumer Web 2.0 world has almost stalled. Things are just going around in circles rather than in an upward trajectory (when it comes to new features and ideas in the consumer Web 2.0 world).<br><br>In the enterprise world, we\'re just barely getting started. I believe the spectrum for innovation is much wider in the business world than in the consumer world, as there are many more types of use cases in the business world. <br><br>I believe figuring out applicability in the business world will drive forward innovation in the Web 2.0 world. An example would be, who\'d a thought (in the consumer world) combining a digg or del.icio.us with a LinkedIn (social bookmarking, Tagging, with Social Networking) would make sense? Though, this combination seems to be working out reasonably well when applied to enterprises.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-5487700">\
	 <div id="dsq-comment-header-5487700" class="dsq-comment-header">\
	 <cite id="dsq-cite-5487700" class="dsq-comment-cite">\
	 <a id="dsq-author-user-5487700" href="http://atulrai1.blogspot.com" target="_blank" rel="nofollow">Atul Rai</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-5487700" class="dsq-comment-body">\
	 <div id="dsq-comment-message-5487700" class="dsq-comment-message">You might want to look at the discovery aspects of some of these apps which is quite nice. For example, i had 6 of my friends join the fan club of a rock band when they saw it on my updates. This one\'s not about applications, but the point remains the same.<br><br>Twitter, i would think, is a really cool one for what i like to call "thought of the moment". Whatever you are thinking right now, you can just go and plug it in there.<br><br>Thanks, Atul.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-5487698">\
	 <div id="dsq-comment-header-5487698" class="dsq-comment-header">\
	 <cite id="dsq-cite-5487698" class="dsq-comment-cite">\
	 <a id="dsq-author-user-5487698" href="http://del.icio.us/mecredy" target="_blank" rel="nofollow">Ron Mecredy</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-5487698" class="dsq-comment-body">\
	 <div id="dsq-comment-message-5487698" class="dsq-comment-message">Andrew<br><br>I was one of your interviewees back with Sean and Don some months ago.  I notice that in the enterprise there is some of the frivolity and "office joke" stuff but it seems to be at a minimum since there is so much accountability - ie Intellipedia. I haven\'t found the need to twitter quite yet but I can see the power in the enterprise (microblogging on meaningful events germain to the enterprise).  Again, I believe it will self correct to conform to the cultural character of the enterprise.  I agree it might become "blander" socially but these tools will make the enterprise a much richer and substantive network. <br><br>BTW - I picked up on your link in your status update in FB.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-5487704">\
	 <div id="dsq-comment-header-5487704" class="dsq-comment-header">\
	 <cite id="dsq-cite-5487704" class="dsq-comment-cite">\
	 <a id="dsq-author-user-5487704" href="http://www.twitter.com/sengseng" target="_blank" rel="nofollow">sengseng</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-5487704" class="dsq-comment-body">\
	 <div id="dsq-comment-message-5487704" class="dsq-comment-message">ps - we all know that the "significance" of an event can change based on future events. in the case of what, when and where someone eats for lunch, you might find this of great interest if a bout of food poisoning breaks out...</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-5487707">\
	 <div id="dsq-comment-header-5487707" class="dsq-comment-header">\
	 <cite id="dsq-cite-5487707" class="dsq-comment-cite">\
	 <a id="dsq-author-user-5487707" href="http://stephensonstrategies.com" target="_blank" rel="nofollow">W David Stephenson</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-5487707" class="dsq-comment-body">\
	 <div id="dsq-comment-message-5487707" class="dsq-comment-message">I\'d agree about the proliferation of strange Facebook apps, but differ about Twitter. I had same reservations about it at 1st: my first blog post (that was back when I used to blog 3-4 x a day -- now I tweet 5-10 a day and almost never blog, alas) about it bemoaned the "wow, that was a great sandwich" or "sometimes it\'s tough being a grownup" tweets I read. Now I find it invaluable, in part because I do learn about the personal lives and interests of people I respect, even though sometimes I\'d rather hear a little less (and perhaps others feel the same about my tweets, I assume). I\'ve found others in IT with mutual interest in "Square Foot Gardening," for example, and others going through family health challenges. All in all, I\'ll take the excess, thank you...</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-5487709">\
	 <div id="dsq-comment-header-5487709" class="dsq-comment-header">\
	 <cite id="dsq-cite-5487709" class="dsq-comment-cite">\
	 <a id="dsq-author-user-5487709" href="http://www.fcw.com/blogs/editor/153195-1.html" target="_blank" rel="nofollow">Chris Rasmussen</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-5487709" class="dsq-comment-body">\
	 <div id="dsq-comment-message-5487709" class="dsq-comment-message">I feel the same way about the overwhelming amount of strange and esoteric Facebook applications.  I often use the Clay Shirky line Â“they are not talking to youÂ” when people at work see esoteric blog and wiki titles and comment Â“who would read that, what a waste of time.Â”  They are talking to their office, team, or colleagues interested in that topicÂ—just ignore it.  ItÂ’s very easy to ignore things that are not in email such as RSS aggregator content and Facebook application alerts because I can look at it on my time opposed to blasted in my face like email.<br><br>As you noted in the Facebook at Serena post, there are advantages to posting non-work related content because it can strike up a personal conversation that may lead to professional collaboration.  <br>I recently helped write our organizationÂ’s guidance on non-work related social media posts and noted there are advantages to having fun and posting about Corvette car clubs at work.  When workers donÂ’t trust each other, which is the rule not the exception, they submit generic content to E 2.0 tools, especially wikis, because they think they Â“ownÂ” the analysis or ideas and their non-trusted colleagues will Â“stealÂ” their ideas.   Making things personal, light-hearted, or fun can help establish trust that can lead to Â“meatierÂ” content and working on the hard problems rather than submitting generic content.<br><br>IÂ’ll admit it, it annoys me when nerds post iPhone-worshiping blogs at work but they know the scoreÂ—itÂ’s ok to do it once and awhile. <br><br>As I like to say when people make unfair comparisons about social media at work, Â“If I post a Penthouse picture on my office door, you donÂ’t ban the door, you deal with me.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-5487706">\
	 <div id="dsq-comment-header-5487706" class="dsq-comment-header">\
	 <cite id="dsq-cite-5487706" class="dsq-comment-cite">\
	 <a id="dsq-author-user-5487706" href="http://twitter.com/sradick" target="_blank" rel="nofollow">Steve</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-5487706" class="dsq-comment-body">\
	 <div id="dsq-comment-message-5487706" class="dsq-comment-message">BTW...I actually came across this post via your recent Tweet about it.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-5487705">\
	 <div id="dsq-comment-header-5487705" class="dsq-comment-header">\
	 <cite id="dsq-cite-5487705" class="dsq-comment-cite">\
	 <a id="dsq-author-user-5487705" href="http://twitter.com/sradick" target="_blank" rel="nofollow">Steve</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-5487705" class="dsq-comment-body">\
	 <div id="dsq-comment-message-5487705" class="dsq-comment-message">I too just joined the Twitterverse (<a href="http://twitter.com/sradick" rel="nofollow">http://twitter.com/sradick</a>), and am finding many of the same things to be true.  However, I think that this post by Robert Scoble helps to explain some of that - <br><a href="http://scobleizer.com/2008/05/18/why-google-news-has-no-noise/" rel="nofollow">http://scobleizer.com/2008/05/18/why-google-new...</a><br><br>Yes, there\'s a lot of noise (ads, what people ate for lunch, etc.), but there is also a lot of value.  If you take away the noise, I would argue that you would also be taking away a lot of the value. Once you start filtering things based on one person\'s judgments, it\'s a very slippery slope to those gatekeepers that have made traditional media so sanitized and boring. Take Facebook\'s Beacon app - that\'s an application that the community rebelled against, and it\'s now in the scrap heap.  So a group of people somewhere (a very weird group) has found value in these weird applications - that\'s why they\'re still around.<br><br>Spin this around to the Enterprise.  Doesn\'t that same slippery slope apply when your boss says that you\'re only allowed using EnTwitter to discuss the Belle Jolie account?  If the scope of such a tool gets defined by the "boss" rather than the community, would the community continue to use it?  <br><br>I agree that there need to be rules within the Enterprise that govern the use of these tools, but at the same time, the people making the rules have to realize the ramifications of their decisions. Simply disallowing non-work activity on these tools doesn\'t just eliminate non-work activity, it can also domino and impact actual work activity that may not get captured.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-5487711">\
	 <div id="dsq-comment-header-5487711" class="dsq-comment-header">\
	 <cite id="dsq-cite-5487711" class="dsq-comment-cite">\
	 <span id="dsq-author-user-5487711">Lars Haugstad</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-5487711" class="dsq-comment-body">\
	 <div id="dsq-comment-message-5487711" class="dsq-comment-message">After having received numerous vampire bites and being sold on facebook for the price of a Junior Bacon Cheeseburger and a small coke, I am starting to doubt if Facebook has made an unwise move to integrate all these silly applications and failing to provide applications of real substance. (There are certain interesting applications, yet none to make it the "operating platform of the internet" as I understand Facebook\'s vision.)<br><br>In an enterprise context, I agree that the boss can verbally (or even electronically) control the use of the technology as much as he/she can control the writing on the wall with crayons. I am wondering when Facebook is going to integrate tools for online collaboration, as Facebook is frequently being banned in the corporate world. Maybe we will see an alliance between Google and Facebook to integrate their office software into the facebook platform?<br><br>I am a little ignorant as far as Twitter is concerned (twignorant?), but from what I have heard it is largely a tool to keep up to speed on other people\'s trivialities.<br><br>I\'m thinking I am going for sushi for dinner today. Most definitively. Prepare for my facebook status update.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-5487710">\
	 <div id="dsq-comment-header-5487710" class="dsq-comment-header">\
	 <cite id="dsq-cite-5487710" class="dsq-comment-cite">\
	 <a id="dsq-author-user-5487710" href="http://www.twitter.com/sengseng" target="_blank" rel="nofollow">sengseng</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-5487710" class="dsq-comment-body">\
	 <div id="dsq-comment-message-5487710" class="dsq-comment-message">as a self-proclaimed twitter-holic, part of twitter\'s "stream of consciousness" draw is the freedom of expression. yes it\'s easy to get caught up in sharing the minutia of one\'s day, but sometimes this offers the greatest insight into a person and more importantly the opportunity to build trust. i\'ve benefited from and helped online friends, ones i\'ve never met in person, solely based on a connection i\'ve made with them (for example, sharing the same musical taste). from an intelligence perspective, i\'d be just as interested in the minutia as the "big ticket" declarations and would be cautious to dismiss the finer, more personalized details.<br><br>i assume in the not-so-distant future we will see, in apps like twitter, levels and spheres (classification if you will) of sharing so you won\'t have to hear what i or anyone else is eating for lunch.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-5487708">\
	 <div id="dsq-comment-header-5487708" class="dsq-comment-header">\
	 <cite id="dsq-cite-5487708" class="dsq-comment-cite">\
	 <a id="dsq-author-user-5487708" href="http://joblogs.cc" target="_blank" rel="nofollow">Steve Ireland</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-5487708" class="dsq-comment-body">\
	 <div id="dsq-comment-message-5487708" class="dsq-comment-message">I look to Twitter as a means of sharing ideas and information I personally find interesting.  Some might call it microblogging.  I cull anyone that tweets about their macro/personal activities.  To each their own but I don\'t think that needs to be public / online, anywhere.<br><br>My FB profile is "I don\'t play with Facebook crowds, you know where to find me..."</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-5487713">\
	 <div id="dsq-comment-header-5487713" class="dsq-comment-header">\
	 <cite id="dsq-cite-5487713" class="dsq-comment-cite">\
	 <a id="dsq-author-user-5487713" href="http://twitter.com/joeschueller" target="_blank" rel="nofollow">Joe Schueller</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-5487713" class="dsq-comment-body">\
	 <div id="dsq-comment-message-5487713" class="dsq-comment-message">I think you\'re hitting on a couple of nerves here...<br><br>First, social media isn\'t annoying in and of itself, it just gives people who are annoying the tools to do it faster, louder, and more broadly than ever before.  This is early, people are doing a lot of silly stuff just to show/prove they can.  Eventually, as the entire media matures, people will master the art of filtering and the art of not getting filtered by their target audience.<br><br>Culturally, the vast majority of the users are of a demographic or mindset where the lines between work/play are (at best) rather blurry.  You\'d have a hard time distinguishing between many of their "friends" and people they do business with/for.  Working for a big company, we\'ve often tried to help employees balance their work and personal lives, but increasingly, people believe work is what they do, not where/when they do it, or even who they do it for.  As social media continues to grease away the friction of time/place collaboration, this is a trend that will only continue.  It is going to get increasingly tough to separate the work life from the personal one (ie: I got the notice of this blog posting via Twitter while seeing what my friends/co-workers we\'re doing today).  <br><br>If that line is blurred, will you have to create parallel Twitterverses for work vs. personal, can there be room for 2 separate streams, or will there really only be 1?  As I experiment with social tools here, I worry less about management sucking the "fun" out of them and much more about how do I "compete" with the habits, practices, and tools people are already adopting.<br><br>Thanks for the thoughtful post...  a lot in here to chew on.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-5487712">\
	 <div id="dsq-comment-header-5487712" class="dsq-comment-header">\
	 <cite id="dsq-cite-5487712" class="dsq-comment-cite">\
	 <a id="dsq-author-user-5487712" href="http://www.whitepal.de" target="_blank" rel="nofollow">Dominik</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-5487712" class="dsq-comment-body">\
	 <div id="dsq-comment-message-5487712" class="dsq-comment-message">A general insight from practice is that information systems work better the less decisions the user has to make. Richness of a medium can on the other hand increase communication effectiveness.<br><br>So the question is more about what you want to reach with the tool at hand. I don\'t think that the nature of the task can be left out of the discussion.<br><br>From an enterprise perspective I can only share your views. More condensed versions of the tools will certainly help. Only though if a critical mass is using them already. For introduction I assume freedom of expression (and may it be with a facebook werewolves invitation) to be a great concept. In the course some restriction or structuration will definitely not harm the outcome.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-5487715">\
	 <div id="dsq-comment-header-5487715" class="dsq-comment-header">\
	 <cite id="dsq-cite-5487715" class="dsq-comment-cite">\
	 <a id="dsq-author-user-5487715" href="http://shoptalkmarketing.blogspot.com" target="_blank" rel="nofollow">John Caddell</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-5487715" class="dsq-comment-body">\
	 <div id="dsq-comment-message-5487715" class="dsq-comment-message">Andrew,<br><br>I have gotten very much into using Twitter these past few months. And I have to say that I like the "what I\'m having for lunch"-type messages.<br><br>I work from home. So I don\'t have an office with people around me sharing minutia about their lives.<br><br>Twitter serves that purpose for me. I have a pretty small group of people I follow. I have a direct connection to these people, or at least an interest in their work. Knowing about where they are (near me? thousands of miles away?), what movies they like, etc., teaches me more about their full life, i.e., their life outside of work/academia.<br><br>I think this has use in the enterprise space as well. As colleagues increasingly work together without being in the same space, they will need tools to bring them closer. <br><br>Twitter is one.<br><br>regards, John</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-5487714">\
	 <div id="dsq-comment-header-5487714" class="dsq-comment-header">\
	 <cite id="dsq-cite-5487714" class="dsq-comment-cite">\
	 <a id="dsq-author-user-5487714" href="http://www.kishore.org" target="_blank" rel="nofollow">Kishore Balakrishnan</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-5487714" class="dsq-comment-body">\
	 <div id="dsq-comment-message-5487714" class="dsq-comment-message">Since email / wiki / forums and other tools in an enterprise have norms and policies, providing similar policies will definitely be necessary. Of course, simple overall signal vs noise reporting will help the participants and encourage everyone to participate</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-5487719">\
	 <div id="dsq-comment-header-5487719" class="dsq-comment-header">\
	 <cite id="dsq-cite-5487719" class="dsq-comment-cite">\
	 <a id="dsq-author-user-5487719" href="http://carruthk.blogspot.com/" target="_blank" rel="nofollow">Kate Carruthers</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-5487719" class="dsq-comment-body">\
	 <div id="dsq-comment-message-5487719" class="dsq-comment-message">It sounds like you are expressing a desire to use social networking channels, but want a higher degree of message salience and a lower level of noise.  This is a problem because our current technical capabilities to sort, filter and present the information in the myriad of ways different users might desire remains primitive.  This is why so many people are interested in semantic web ideas.  <br><br>In the enterprise environment there is a risk that the verve and spontenaeity characterising online social networks will be lost.  Thus the kind of corporate rules that will be imposed could crush emergence of community and the kinds of loose bonds that make social networks effective.  <br><br>BTW, why would I use an internal corporate channel when I get really good quality crowdsourced answers from Twitter (or Identi.ca) & Friendfeed?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-5487718">\
	 <div id="dsq-comment-header-5487718" class="dsq-comment-header">\
	 <cite id="dsq-cite-5487718" class="dsq-comment-cite">\
	 <a id="dsq-author-user-5487718" href="http://zenpundit.com" target="_blank" rel="nofollow">zenpundit</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-5487718" class="dsq-comment-body">\
	 <div id="dsq-comment-message-5487718" class="dsq-comment-message">Twitter is most useful to facilitate (and reinforce ties among) an existing social network. Trying to build an all-Twitter social network of any utility from scratch is apt to be a frustrating experience unless you are already a person well known enough to attract followers.<br><br>I limit my following fairly strictly. About 60 % of my use of twitter revolves around contact with fellow national security/defense/Intel/foreign policy bloggers, some of whom I have met in person and others that <br>I have not. While there is much social chatter we also trade ideas, articles, posts and make arrangements to connect elsewhere. I find twitter to be highly useful in that regard ( when it\'s working, that is)<br><br>The remaining 40 % is contact with experts in different fields, responding to inquiries, bloviating on trivia or linking.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-5487717">\
	 <div id="dsq-comment-header-5487717" class="dsq-comment-header">\
	 <cite id="dsq-cite-5487717" class="dsq-comment-cite">\
	 <a id="dsq-author-user-5487717" href="http://www.susanitsa.wordpress.com" target="_blank" rel="nofollow">Susan Scrupski</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-5487717" class="dsq-comment-body">\
	 <div id="dsq-comment-message-5487717" class="dsq-comment-message">Harrumph.  <br><br>Although I have to admit I ignore most silliness on Facebook that comes in the way of viral apps, with Twitter, I think it\'s necessary to include the noise.<br><br>Twitter gives us a 360-degree view of our social  community.  A (Twitter) friend said it best, "I was interviewed about my use of Twitter by our company recently.  Someone asked me if my posts were a little too personal.  I said, why? I\'m a person." (Abbie Lundberg, editor, CIO magazine.)<br><br>Through the connectedness of micro-blogging, we really get to know each other.  It dramatically condenses the time it takes to build a trust relationship.  The weak tie theory is predicated on trust and reliability.  <br><br>To enforce a strictly business policy on an "enTwitter" would handicap the tool\'s most beneficial advantage: our ability to create real relationships vs. interfacing with business contacts.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-5487716">\
	 <div id="dsq-comment-header-5487716" class="dsq-comment-header">\
	 <cite id="dsq-cite-5487716" class="dsq-comment-cite">\
	 <a id="dsq-author-user-5487716" href="http://alignmentinquiries.blogspot.com/" target="_blank" rel="nofollow">Andrew Meyer</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-5487716" class="dsq-comment-body">\
	 <div id="dsq-comment-message-5487716" class="dsq-comment-message">Prof. McAfee,<br><br>Thank-you for an excellent blog entry, I enjoy your writing very much.  In response to your question, please note that my comments are from personal experience and not broad based study.  I have found social networks used on the fringes of business, not in core businesses.  I\'ll offer an example of the first and some reasons for the second.<br><br>Use in the Fringes of Business<br>Please note that my saying "Fringes" is not pejorative, but rather it refers to the outer edges of the network, which is where the really interesting things happen.<br><br>One of the great things about FB (Facebook) is that it allows people to create verifiable and yet pseudonymous users.  Furthermore, it allows you to create private groups, where only people who are known and invited can participate.  Might there not be groups who want to securely blog and discuss events who might find FB useful?<br><br>Core Businesses Concerned about Social Tools<br>Many executives and managers in core businesses are rightfully concerned about the time wasting that accompanies FB and other social tools.  There is also a security threat, which is very real.  Additionally, there is the bigger issue, that there isn\'t a clearly defined business problem that social tools solve.  Finally, there is the hurdle that many in IT view social networks, SaaS, etc as a threat.  This is a valid concern, which, coupled with other issues, will probably keep social tools out of core business applications.<br><br>There are business leaders struggling to get blogging and other social/collaborative tools used in corporations.  Their struggles are interesting to consider and offer interesting insights that the creators of social tools are not paying as much attention to as they should.<br><br>This is an area of great interest to me and I would love to know your insights.<br><br>Andy</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=andrewmcafee&t=freedom_is_overrated&to_redirect=' + encodeURIComponent(window.location) + '&ifrs=' + encodeURIComponent(disqus_iframe_css);
			}
		}
	}

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

	




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');
}

})();




