




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": {"a4318531f221cf1eb520dde3a85f8381": {"username": "Shaveta Aggarwal", "tumblr": "", "display_name": "Shaveta Aggarwal", "url": "http://disqus.com/guest/a4318531f221cf1eb520dde3a85f8381/", "registered": false, "linkedin": "", "blog": "http://www.interviewhelper.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": ""}, "brettnordquist": {"username": "brettnordquist", "tumblr": "", "display_name": "Brett Nordquist", "url": "http://disqus.com/brettnordquist/", "registered": true, "linkedin": "", "blog": "http://blog.nordquist.org", "remote_domain": null, "points": 2, "facebook": "", "avatar": "http://media.disqus.com/uploads/users/24152/avatar92.jpg", "delicious": "", "is_remote": false, "verified": true, "flickr": "", "twitter": "http://twitter.com/Akula", "remote_domain_name": ""}, "b088e77dcebb3a7808bd04207e18e62d": {"username": "Ed Kaim", "tumblr": "", "display_name": "Ed Kaim", "url": "http://disqus.com/guest/b088e77dcebb3a7808bd04207e18e62d/", "registered": false, "linkedin": "", "blog": "http://www.sharplogic.com/blogs/ed", "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": ""}, "c541976499761a64df9ed503e351f0ce": {"username": "Jack", "tumblr": "", "display_name": "Jack", "url": "http://disqus.com/guest/c541976499761a64df9ed503e351f0ce/", "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": ""}, "e8eb8398170fbfdb3ebc46e3b380d2ea": {"username": "mickell", "tumblr": "", "display_name": "mickell", "url": "http://disqus.com/guest/e8eb8398170fbfdb3ebc46e3b380d2ea/", "registered": false, "linkedin": "", "blog": "http://mickell.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": ""}, "1efe17fdbe3f4c0b1237606388ed1a0c": {"username": "Brian Shapiro", "tumblr": "", "display_name": "Brian Shapiro", "url": "http://disqus.com/guest/1efe17fdbe3f4c0b1237606388ed1a0c/", "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": ""}, "8016aa596ba0aa9b31eea4da126579c1": {"username": "Drew", "tumblr": "", "display_name": "Drew", "url": "http://disqus.com/guest/8016aa596ba0aa9b31eea4da126579c1/", "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": ""}, "b1cf9cbec617943451648934edca166b": {"username": "Tobin", "tumblr": "", "display_name": "Tobin", "url": "http://disqus.com/guest/b1cf9cbec617943451648934edca166b/", "registered": false, "linkedin": "", "blog": "http://blogs.msdn.com/tobint", "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": ""}, "51b85dca6c130363e1ce7c55be465d83": {"username": "Stephane Rodriguez", "tumblr": "", "display_name": "Stephane Rodriguez", "url": "http://disqus.com/guest/51b85dca6c130363e1ce7c55be465d83/", "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": ""}, "b145c79380d49a8c0b8b05ebb1fab234": {"username": "David Dalka", "tumblr": "", "display_name": "David Dalka", "url": "http://disqus.com/guest/b145c79380d49a8c0b8b05ebb1fab234/", "registered": false, "linkedin": "", "blog": "http://www.daviddalka.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": ""}, "0e41b9c331ef5cb6e5828ee5ee12c852": {"username": "Sarah", "tumblr": "", "display_name": "Sarah", "url": "http://disqus.com/guest/0e41b9c331ef5cb6e5828ee5ee12c852/", "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": ""}, "656056ac7ffbc97b499c02df119e2bab": {"username": "Tim", "tumblr": "", "display_name": "Tim", "url": "http://disqus.com/guest/656056ac7ffbc97b499c02df119e2bab/", "registered": false, "linkedin": "", "blog": "http://www.guyswithtowels.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": ""}, "d8190e3316ce996d53b603b15b2b5329": {"username": "searchengines", "tumblr": "", "display_name": "searchengines", "url": "http://disqus.com/guest/d8190e3316ce996d53b603b15b2b5329/", "registered": false, "linkedin": "", "blog": "http://searchengines.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": ""}, "75127f3933826f4daf5529c6ae474fb9": {"username": "Barry", "tumblr": "", "display_name": "Barry", "url": "http://disqus.com/guest/75127f3933826f4daf5529c6ae474fb9/", "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": ""}, "c489355ab8af522634fdef64206a3954": {"username": "Dmad", "tumblr": "", "display_name": "Dmad", "url": "http://disqus.com/guest/c489355ab8af522634fdef64206a3954/", "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": ""}, "2b55eb456711a3b699676b31df017e3f": {"username": "Flynn", "tumblr": "", "display_name": "Flynn", "url": "http://disqus.com/guest/2b55eb456711a3b699676b31df017e3f/", "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": ""}, "4f373e2ab060df838496cdf947903156": {"username": "hadi", "tumblr": "", "display_name": "hadi", "url": "http://disqus.com/guest/4f373e2ab060df838496cdf947903156/", "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": ""}, "dahowlett": {"username": "dahowlett", "tumblr": "", "display_name": "dahowlett", "url": "http://disqus.com/dahowlett/", "registered": true, "linkedin": "", "blog": "http://www.dahowlett.com", "remote_domain": null, "points": 2, "facebook": "http://www.facebook.com/dahowlett", "avatar": "http://media.disqus.com/uploads/users/1740/avatar92.jpg", "delicious": "dahowlett", "is_remote": false, "verified": true, "flickr": "dahowlett", "twitter": "", "remote_domain_name": ""}, "3423bdecedb1e74120350de4e40c7acf": {"username": "Mujibur", "tumblr": "", "display_name": "Mujibur", "url": "http://disqus.com/guest/3423bdecedb1e74120350de4e40c7acf/", "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": ""}, "d4de9449d08f970707d381887be0e57b": {"username": "Macboy", "tumblr": "", "display_name": "Macboy", "url": "http://disqus.com/guest/d4de9449d08f970707d381887be0e57b/", "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": ""}, "21f86046dfe834a98362ddd58a0e818a": {"username": "john dodds", "tumblr": "", "display_name": "john dodds", "url": "http://disqus.com/guest/21f86046dfe834a98362ddd58a0e818a/", "registered": false, "linkedin": "", "blog": "http://makemarketinghistory.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": ""}, "8dc25c0b4842f5be2dc6ee9f7fe5f799": {"username": "Matt", "tumblr": "", "display_name": "Matt", "url": "http://disqus.com/guest/8dc25c0b4842f5be2dc6ee9f7fe5f799/", "registered": false, "linkedin": "", "blog": "http://www.grumpyoldmatt.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": ""}, "ba7b3f4a2863e54557907c01aa615b09": {"username": "Burrito", "tumblr": "", "display_name": "Burrito", "url": "http://disqus.com/guest/ba7b3f4a2863e54557907c01aa615b09/", "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": ""}, "9a8f75cf4bfbda303c25b33b7772acee": {"username": "range", "tumblr": "", "display_name": "range", "url": "http://disqus.com/guest/9a8f75cf4bfbda303c25b33b7772acee/", "registered": false, "linkedin": "", "blog": "http://range.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": ""}, "46f1439b56e56ebf81d1c17666777c9e": {"username": "Joe Clark", "tumblr": "", "display_name": "Joe Clark", "url": "http://disqus.com/guest/46f1439b56e56ebf81d1c17666777c9e/", "registered": false, "linkedin": "", "blog": "http://joeclark.org/weblogs/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/4/4822/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "456636993483a10e9b50ffe17733de4a": {"username": "Robert Scoble", "tumblr": "", "display_name": "Robert Scoble", "url": "http://disqus.com/guest/456636993483a10e9b50ffe17733de4a/", "registered": false, "linkedin": "", "blog": "http://scobleizer.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": ""}, "ebfedafdecf3347d9bd8b92e2a4cdac7": {"username": "web design uk", "tumblr": "", "display_name": "web design uk", "url": "http://disqus.com/guest/ebfedafdecf3347d9bd8b92e2a4cdac7/", "registered": false, "linkedin": "", "blog": "http://www.wirah.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": ""}, "44d5ac3d17043abb16a93730afc26edb": {"username": "scott gjerdingen", "tumblr": "", "display_name": "scott gjerdingen", "url": "http://disqus.com/guest/44d5ac3d17043abb16a93730afc26edb/", "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": ""}, "b6aff68e4a50e33c8c104edad852e66f": {"username": "Lauri", "tumblr": "", "display_name": "Lauri", "url": "http://disqus.com/guest/b6aff68e4a50e33c8c104edad852e66f/", "registered": false, "linkedin": "", "blog": "http://lauriblog.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": ""}, "2c5e261014744121fa94ff3353c6c40b": {"username": "Scott Smith", "tumblr": "", "display_name": "Scott Smith", "url": "http://disqus.com/guest/2c5e261014744121fa94ff3353c6c40b/", "registered": false, "linkedin": "", "blog": "http://www.betweenthecities.com/blog/ljr/", "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": ""}, "8a84e895c150cc6e2d067054d41fd45d": {"username": "Mark Reinhold", "tumblr": "", "display_name": "Mark Reinhold", "url": "http://disqus.com/guest/8a84e895c150cc6e2d067054d41fd45d/", "registered": false, "linkedin": "", "blog": "http://markr.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": ""}, "e7b312c87588ff830484d2fa2b2b4e88": {"username": "ClickRich", "tumblr": "", "display_name": "ClickRich", "url": "http://disqus.com/guest/e7b312c87588ff830484d2fa2b2b4e88/", "registered": false, "linkedin": "", "blog": "http://clickrich.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": ""}, "0f9183864181407933271fe918b4b82a": {"username": "irwin", "tumblr": "", "display_name": "irwin", "url": "http://disqus.com/guest/0f9183864181407933271fe918b4b82a/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}}, "forum": {"use_media": true, "name": "Scobleizer", "streaming_realtime": true, "url": "scobleizer", "allow_anon_post": true, "reactions_enabled": true, "reply_position": 1, "show_avatar": true, "allow_anon_votes": false, "disqus_auth_disabled": false}, "realtime_enabled": true, "request": {"username": "", "is_global_moderator": false, "sharing": {}, "sort": 4, "forum": "scobleizer", "is_initial_load": true, "is_authenticated": false, "timestamp": "2009-12-17_05:30:56", "remote_domain": "", "page": 1, "is_moderator": false, "display_username": "", "points": null, "subscribe_on_post": 2, "moderator_can_edit": false, "is_remote": false, "is_verified": false, "missing_perm": "locked"}, "realtime_paused": false, "posts": {"9643904": {"up_voted": false, "ip": "", "has_replies": false, "message": "\"Huh? Name one thing that Longhorn would have let you do that Vista doesn\u2019t let you do.\"<br><br>Ummmmm... WinFS!??!?!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-07-04_07:05:22", "killed": false, "user_key": "2b55eb456711a3b699676b31df017e3f", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9643905": {"up_voted": false, "ip": "", "has_replies": false, "message": "I'm no techie, but didn't Kazaa effectively mutate into Skype?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-07-04_08:05:05", "killed": false, "user_key": "21f86046dfe834a98362ddd58a0e818a", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9643906": {"up_voted": false, "ip": "", "has_replies": false, "message": "To lauri:<br><br>You can open up the public's mind about ideas though and help them understand that gay and lesbian people are good people, who just have different urges.<br>f like gay marriage (otherwise the bush a<br>Back in the days of the past, many people thought that being a working woman was an \"unacceptable lifestyle\", that women voting was unacceptable or even that a world where blacks and whites are equal was \"unacceptable\". Yet those who believe in the cause of equality and equal rights  'forced' themselves on the public and made the public understand that they were just humans who deserved the same rights as majority.<br><br>I would also like to point out that there isn't any such solid majority you speak of on stufdmin would have been able to pass all the bills they wanted to ban it).", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-07-04_04:45:49", "killed": false, "user_key": "4f373e2ab060df838496cdf947903156", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9643907": {"up_voted": false, "ip": "", "has_replies": false, "message": "oh, and p.s. ..<br><br>our church has about 3500 members, not 2000. :-)<br><br>like Hutch keeps saying, when you step into our world, we have every right to step into yours... right?<br><br>i feel 100% sure that Antioch did not go looking for this particular fight. The Gay &amp; Lesbian Advocates have been trying to force this on the public for more than 2 decades. The public is under no obligation to tolerate a lifestyle they dont agree with.<br><br>Therein lies the problem; you cannot and will never be able, to force the public to accept or tolerate a lifestyle they dont approve of. Not even legislation will do it .. but if the advocates inside of MS who whined to Balmer that they werent getting all the special protections they deemed necessary were really interested in what the public thinks, and not forcing themselves on the rest of us, then they should put it to a vote.<br><br>what is the problem with that?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-07-04_02:17:45", "killed": false, "user_key": "b6aff68e4a50e33c8c104edad852e66f", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9643908": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert, if MS had stayed out of this very hotly debated issue, my church would have been quiet as well, church mice..<br><br>If the legislature is so sure its what the people want, why are they too scared to let the people of this state vote on it? Is it possibly because no state to date has gotten approval thru the voting process to brand a lifestyle as needing extra protections? That's a big yes indeedy.<br><br>And yes, I would say lobbyists are a total cancer to a republic..<br><br>But I agree with Dmad in the extreme; there are a bunch of bullies inside MS who think they can get their sympathetic legislature to roll over the public; and to that end, I hope those legislators have a short public life and will soon be voted out.<br><br>In fact, I think we can all but count on it in the next few elections here.. :-)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-07-04_02:13:05", "killed": false, "user_key": "b6aff68e4a50e33c8c104edad852e66f", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9643909": {"up_voted": false, "ip": "", "has_replies": false, "message": "<a href=\"http://digg.com/tech_news/Scoble_FINALLY_Reveals_things_he_could_NOT_say_While_at_Microsoft\" rel=\"nofollow\">http://digg.com/tech_news/Scoble_FINALLY_Reveal...</a><br><br><br>Thank you, but be prepaid you many be getting tens of thousands of extra hits to your site by days end", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-07-03_17:53:05", "killed": false, "user_key": "d8190e3316ce996d53b603b15b2b5329", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9643910": {"up_voted": false, "ip": "", "has_replies": false, "message": "Interesting. Hmm", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-07-03_17:54:03", "killed": false, "user_key": "ebfedafdecf3347d9bd8b92e2a4cdac7", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9643911": {"up_voted": false, "ip": "", "has_replies": false, "message": "@32 And yet investors have been unimpressed.. A LOT.  Please tell me you aren't taking credit for revenues and profits going up. Remind me again what product you were responsible for producing?<br><br>That \"boo hoo! it will hurt recruiting\" is a red herring. I pretty sure  MS's stance on social issues will not be a make or break deal between an offer from, say, Google and and offer from Microsoft for a potential hire.<br><br>And I'm not sure but I'd be willing to bet the % of people affected in MS, or even the tech industry are reflective of society. I mean, this isn't the rag business, or the dance business. So, MS is appealing to special interest minority groups and not the larger company. Again, I rather doubt this will be a make or break deal in hiring highly skilled candidates.<br><br>So, in your \"Bay Area\" comment certainly your are not positing that the tech industry grew out of the gay community in the Bay Area, are you?  It's likely that there might be a higher percentage of gays in the tech industry in the Bay Area because,well, there's a higher percentage of gays in the candidate poll. But that doesn't necessarily extrapolate nationally. Again, I say as you increase the candidate poll, (and I'm sure MS recruits beyond Seattle and the Bay Area) the percentage of people affected by MS's policy likely reflect the national and WW numbers. Which is to say, is 3% or under (it's NOT 10% as some are led to believe). So, in short MS caved to minority special interests.  Which means they really didn't care about ALL their people, only a select few.<br><br>Look, if MS wants to have that policy, fine. Let them. They are well within their rights to have whatever hiring policies they want. Nothing wrong with that. They should NOT, however, tell elected officials how they should vote, nor try to influence what other businesses's policies should be.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-07-04_02:04:43", "killed": false, "user_key": "c489355ab8af522634fdef64206a3954", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9643912": {"up_voted": false, "ip": "", "has_replies": false, "message": "Thanks Robert!<br><br>MSFT: Wonderful opportunity, wonderful journey, wonderful exit...the wheel goes round and round, please continue to share the experience.<br><br>- scott -", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-07-03_23:34:55", "killed": false, "user_key": "44d5ac3d17043abb16a93730afc26edb", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9643913": {"up_voted": false, "ip": "", "has_replies": false, "message": "Ed: well, I didn't take credit back then cause I didn't think I did that big a thing. But, I've gotten thanks from many gay Microsoft employees saying that my support of them meant an awful lot (including a really nice note a week or so ago from the leader of GAIM, Microsoft's gay and lesbian employee association). So, I've been convinced that I did play a key role, although I didn't think what I did was that big a deal back then.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-07-04_01:21:52", "killed": false, "user_key": "456636993483a10e9b50ffe17733de4a", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9643914": {"up_voted": false, "ip": "", "has_replies": false, "message": "Hey, I thought you weren't taking credit for Microsoft's change in stance on HB1515?<br><br><a href=\"http://radio.weblogs.com/0001011/2005/05/06.html#a10011\" rel=\"nofollow\">http://radio.weblogs.com/0001011/2005/05/06.htm...</a><br><br>Do I get a hundred Scoble dollars to spend at Channel 9 now?<br><br>:-)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-07-04_00:03:09", "killed": false, "user_key": "b088e77dcebb3a7808bd04207e18e62d", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9643915": {"up_voted": false, "ip": "", "has_replies": false, "message": "Dmad: since arriving at Microsoft revenues have gone up. A LOT. Profits have gone up. A LOT. Customer satisfaction numbers have gone up for the first time in about a decade.<br><br>There were thousands of employees who signed a petition. But I was the first in public to sign my own name and speak out against it.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-07-03_19:03:47", "killed": false, "user_key": "456636993483a10e9b50ffe17733de4a", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9643916": {"up_voted": false, "ip": "", "has_replies": false, "message": "Sarah,<br><br>In my case, results from Google groups appeared as part of the regular Google search results, aggregated at the top. I know this is not always done. I don't quite know the reason why it works like this, just many other UI tweaks that Google does every now and then. The point being, you don't have to know Google groups, it comes to you. Remember the motto of RSS : you don't have to know it, it comes to you.<br><br>I would agree that Google groups, Google reader, and the bulk of what came from Google labs so far are not mainstream, but that's besides my point.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-07-03_15:46:46", "killed": false, "user_key": "51b85dca6c130363e1ce7c55be465d83", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9643917": {"up_voted": false, "ip": "", "has_replies": false, "message": "@24  Actually from a shareholder perspective and a business perspective everything IS about selling more software.  If they don't they don't stay in business.  It's pretty simple. And someone wants to make you a VP huh?  Scary.<br><br>As for the gay rights bill, whether the right thing was done is highly debatable. Many are of the opinion companies should stay neutral on such issues. But, we can agree to disagree there.   What's hilarious is how this issue showed how easily invfluenced Ballmer can be. It was an amaturish PR move on MS's part.<br><br>MS's performance during the time you were there would indicate they didn't get much out of your supposed visibility. But, I understand why you say numbers don't matter when they don't support your theory.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-07-03_18:51:09", "killed": false, "user_key": "c489355ab8af522634fdef64206a3954", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9643918": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert,<br><br>So youre the one who convinced Balmer to support the Gay Rights bill?<br><br>Yeah, technology companies really have a say so in legislation (thats sarcasm) - boneheaded move, my friend.<br><br>Only a leftie believes that legislators should write laws the people dont support, but hey, if youre moving to Cali, you should be ok with that :-P", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-07-03_18:17:52", "killed": false, "user_key": "b6aff68e4a50e33c8c104edad852e66f", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9643919": {"up_voted": false, "ip": "", "has_replies": false, "message": "Great read, especially this point:<br>\"I would actually start a new company that\u2019s designed to destroy the old one.\"<br><br>I think you meant could the Beatles copy Elvis though. :)<br><br>I do disagree with an aspect of your other post though and will write on that later.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-07-03_09:55:42", "killed": false, "user_key": "b145c79380d49a8c0b8b05ebb1fab234", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9643920": {"up_voted": false, "ip": "", "has_replies": false, "message": "Lauri, I know you're a Republican. So you're for getting rid of all lobbyists who work on behalf of companies and special interest groups? Cool! Something we'd agree on! :-)<br><br>Not to mention it seems like you think that churches with 2,000 members should have any say in such things either. Is that what you're saying?<br><br>If so, I'll let you go first since you made the point. You tell your church to stay out of our public life and then I'll say the same thing to the companies I work for, OK?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-07-03_18:25:01", "killed": false, "user_key": "456636993483a10e9b50ffe17733de4a", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9643921": {"up_voted": false, "ip": "", "has_replies": false, "message": "Thanks for this post.<br><br>I agree with Scoble's Google Groups comment.  A tool like that is blatently obvious to a tech person (likewise, so is Google Scholar, which is fantastic for academics).  A regular person only knows regular google. A regular person types into that box exactly what is on their mind - believe me, I have seen people pour sentences into that box, I've seen people put in a website into that box - i.e. <a href=\"http://scobleizer.wordpress.com\" rel=\"nofollow\">scobleizer.wordpress.com</a>.  And I'm talking about people with a university education.<br><br>Just because the google reader interface is very very simple, and that the link is easy to access, doesn't mean the average person has ever used it, or know what it is.  Most people I know are a) afraid to click on things they don't know  b) not interested in things they haven't heard of before", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-07-03_13:45:06", "killed": false, "user_key": "0e41b9c331ef5cb6e5828ee5ee12c852", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9643922": {"up_voted": false, "ip": "", "has_replies": false, "message": "Were you valuable at Microsoft?<br><br>When I first got into blogging, I was reading Dave Winer, and from him, I got to You.<br><br>And YOU brought me back to the DARK SIDE. I realized that Microsoft was changing, or trying to change. Yes, they have a lot of good products.<br><br>I never used an apple, but I have a BSD machine behind me right now, and OSx is based on unix so we are the same.<br><br>Now wait for labor day. Our Summer here starts after Labor Day. You will be working then and probably wont get to enjoy the summer, but it will be nice.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-07-03_12:32:59", "killed": false, "user_key": "8a84e895c150cc6e2d067054d41fd45d", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9643923": {"up_voted": false, "ip": "", "has_replies": false, "message": "Because its people are affected. And, because, if a state has better laws it's easier to relocate smart people there.<br><br>Some of the best developers I know are gay. And, we've already seen how one or two people can totally change the world of software.<br><br>So, this stuff impacts Microsoft's bottom line in a very real way.<br><br>There's a reason that the tech industry is very big in San Francisco and surrounding areas.<br><br>If Microsoft wants to compete with Silicon Valley it better have an environment that is MORE friendly toward potential workers. Ironically this bill didn't pass with eight years of Microsoft's support. It was only until a small church pushed around Microsoft that it passed. There's a lesson there too. Sometimes by advocating for a specific position you'll cause a blow-back that'll hurt your cause.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-07-03_22:29:16", "killed": false, "user_key": "456636993483a10e9b50ffe17733de4a", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9643924": {"up_voted": false, "ip": "", "has_replies": false, "message": "A question I'd like to know the answer to is \"How long before you're back on the Microsoft payroll?\"<br><br>Clearly, unless you're being incredibly devious, we can't expect you to know and, even if you were Mr Devious McDevious of Devious Street, we can even less expect you to tell us!<br><br>Yours, someone-who's-on-their-4th-technology-start-up.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-07-03_08:53:02", "killed": false, "user_key": "e7b312c87588ff830484d2fa2b2b4e88", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9643925": {"up_voted": false, "ip": "", "has_replies": false, "message": "um, a read of businessweek tells one that you were likely not even close to being the one that got Ballmer  to change his positon. Unless we are being led te believe you are the chairman of this group that wrote the letter..<br><br><a href=\"http://www.businessweek.com/technology/content/may2005/tc20050512_7358_PG2_tc024.htm\" rel=\"nofollow\">http://www.businessweek.com/technology/content/...</a><br><br>Your name turns up nowhere in this reporting of the issue. You weren't even on the cc of the email. I think you clearly overestimate your importance on that issue.<br><br>On your salary issue, you said repeatedly your extracurricular activities were not part of your MS duites. Those duties only entailed toting around a camera and interviewing people. So, why would MS pay your for doing something the didn't help them sell more software? It seems you were getting paid what MS felt you were worth to the company. They obviously saw no value to them in your extra-curricular activities. So, your whining about the salary was strange. Now it would have made more sense if you said \"I can make more giving speeches at fringe tech conferences than I can toting around a camera\". But to whine that MS wasn't compensating you for something that wasn't part of your job in the first place seemed childish.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-07-03_13:04:42", "killed": false, "user_key": "c489355ab8af522634fdef64206a3954", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9643926": {"up_voted": false, "ip": "", "has_replies": false, "message": "Dmad: ask the head of the gay and lesbian group at Microsoft what he thinks. He wrote me a personal thanks. I don't care if I got the PR for it. I just care that the right thing got done.<br><br>On salary, even my night and weekend work added into my career at Microsoft. I was invited to Google because I was Microsoft's most visible blogger. Microsoft got a lot out of that visit.<br><br>Not everything at Microsoft is about selling more software.<br><br>And, maybe my skills weren't valued as much at Microsoft but they were valued by the marketplace. You might not like it. You might not agree with it. But it is there.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-07-03_13:23:47", "killed": false, "user_key": "456636993483a10e9b50ffe17733de4a", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9643927": {"up_voted": false, "ip": "", "has_replies": false, "message": "Sorry -- but if you think that most of what Steve Jobs is communicate with other people, you don't have a clue.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-07-03_03:02:32", "killed": false, "user_key": "3423bdecedb1e74120350de4e40c7acf", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9643928": {"up_voted": false, "ip": "", "has_replies": false, "message": "Brett: John and I were on a panel discussion together at Pepperdine University (talking with MBAs). Afterward we went drinking together and started talking and I asked him whether it'd be interesting if I came to work for him and then we started riffing on that and it went from there.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-07-03_03:35:29", "killed": false, "user_key": "456636993483a10e9b50ffe17733de4a", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9643929": {"up_voted": false, "ip": "", "has_replies": false, "message": "This was a very interesting posts that provided a lot of insight into Microsoft. I liked how you mentioned your helped write your offer to PodTech which tell sounds a lot like they came to you and were willing to do nearly anything to get you on board. I wonder if you had sought them out or vice versa?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-07-03_03:30:34", "killed": false, "user_key": "brettnordquist", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9643930": {"up_voted": false, "ip": "", "has_replies": false, "message": "Mujibur: have you ever talked with a CEO? I have.<br><br>Jonathan Schwartz told me that his #1 job is communicating with other people. That's what he does most of the time. In meetings with customers. In the press. On stage at conferences. Etc.<br><br>I worked with lots of people who worked closely with Steve Jobs and they agree that most of what he does is communicate. Yeah, he fires people once in a while to make a point. Or, he negotiates deals. Or he brainstorms ideas with his top designers and developers and strategists, but most of his important work is speaking and communicating to groups of people.<br><br>Have you ever worked with a CEO of a major company?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-07-03_03:19:05", "killed": false, "user_key": "456636993483a10e9b50ffe17733de4a", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9643931": {"up_voted": false, "ip": "", "has_replies": false, "message": "Quite frankly I find that an absolutely fantastic read. I don't know why, but I think that was/is the closest insight to life at Micrsoft we'll see for quite a while.<br><br>Anyway, my question. At Microsoft, were you discouraged from using non-MS products? For example, I read earlier this week that Bill Gates does not have an iPod (which is, of course, fine - it's not the law that everyone has to have one!) - if so, did you conform or rebel?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-07-03_05:55:12", "killed": false, "user_key": "8dc25c0b4842f5be2dc6ee9f7fe5f799", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9643932": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert - one 'exit question' I meant to ask you but didn't get around to:<br><br>Now you're not working for Microsoft, do you think you will miss people who come to your blog and, regardless of the content of a post, will leave whiny/bitchy comments furthering their own anti-MS agenda?<br><br>(for examples, cast your eyes upwards)<br><br>Will ya miss it, eh? Will ya? :-)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-07-03_05:54:41", "killed": false, "user_key": "656056ac7ffbc97b499c02df119e2bab", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9643933": {"up_voted": false, "ip": "", "has_replies": false, "message": "Hmmmm, used Google lately? You don't have to know Google groups.<br><br>Case in point. Google groups answers come aggregated in the main regular search results page. There is not enough of that right now to my taste, the archive is vastly superior to all MSDN combined all blogs combined, but that can change any day.<br><br>Read the JoelOnSoftware post on Microsoft thinking in IFs, by opposition to Google thinking in AI.<br><br>In addition, compare that to Microsoft silently cutting off old content in MSDN in a deliberate way to push the latest technologies. Just see what .NET did to WIN32, even though our Windows world revolves around WIN32, not .NET.<br><br>Redswoosh? thanks for the link. The site is down though.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-07-03_05:18:31", "killed": false, "user_key": "51b85dca6c130363e1ce7c55be465d83", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9643934": {"up_voted": false, "ip": "", "has_replies": false, "message": "robert,<br><br>I'm not a republican.<br><br>I think corporations have a right to lobby, but its only proper they keep out of issues that don't directly impact their business. A corporation has a right to make a point that a law would impact their the market or their business.<br><br>Its similar for a religious organization or church. The issues are just different. A church can lobby to not have gay marriage;--and gay groups can lobby for it to be there.<br><br>---Unless there is a specific corporate perspective that matters to the issue, the involvement of corporate lobbying is hubris and unwelcome. Its not any different from a celebrity endorsing something just because they can sing and have no new or insightful perspective on the issue. Corporations shouldn't throw their weight behind issues that they have nothing distinct to say about. It makes politics more like a game and less about the reality of the issues. The corporations if they do it are doing it for PR.<br><br>Involvement of large amounts of money in politics and in contributions is a problem that i think should be met with restrictions, but thats a different issue than endorsement and lobbying that doesn't involve big money.<br><br>I made a comment when this issue first came up; we don't need corporations to be more involved in politics than they are. Its one thing to be happy to have helped a bill pass that you support, and another to be happy to have done it by using the weight of a corporation which will only support by weighing PR issues. Why are you proud of that?<br><br>You could have made a difference just mentioning the bill on your blog. You could have convinced Ballmer to make Microsoft's corporate culture more welcoming to gays. But I bet most people looking at the issue are thinking; why is it Microsoft's business?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-07-03_22:25:05", "killed": false, "user_key": "1efe17fdbe3f4c0b1237606388ed1a0c", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9643935": {"up_voted": false, "ip": "", "has_replies": false, "message": "&gt;At Microsoft, were you discouraged from using non-MS products?<br><br>No. The best thing was when the MSN Spaces team came over and asked me \"how could we win you back?\" The IE team did that too.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-07-03_12:04:02", "killed": false, "user_key": "456636993483a10e9b50ffe17733de4a", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9643936": {"up_voted": false, "ip": "", "has_replies": false, "message": "Stephane: normal people have no idea what Google Groups are. Please do some user research here. They know the main <a href=\"http://google.com\" rel=\"nofollow\">google.com</a> page, but rarely know anything else. Look at the market share stats!!! They are abysmal for anything else Google is doing.<br><br>You are actually proving my point. Advanced users know how to find things out. Normal people don't. You're advanced. Off the charts, actually, if you know about Google Groups.<br><br>The HD distribution problem will be solved soon. Watch <a href=\"http://RedSwoosh.com\" rel=\"nofollow\">RedSwoosh.com</a>.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-07-03_04:44:59", "killed": false, "user_key": "456636993483a10e9b50ffe17733de4a", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9643937": {"up_voted": false, "ip": "", "has_replies": false, "message": "1) Microsoft tries to empower users? Hmm, read the WGA blog. I hope you're happy about the denial over issues that legit customers are having, and how Microsoft is introducing remotely-controlled software at the expense of users. Sure enough, this would be a good reason to leave such hostile company.<br><br>2) Didn't like Seattle anymore? Why didn't you move to the MSN labs then (or even better, Mac BU)? You are not resigning because of the commute, you must be leaving because you are sick of Microsoft.<br><br>3) Microsot easier to deal with? How? MS blogs are used as marketing tools. Might surprise you, but I prefer a lot passionate Microsoft employees taking the time to come and answer questions on public forums. That's where they are showing their worth.<br><br>4) I don't buy this \"small things Microsoft has not seen\". Take decentralized file sharing. It took off with Kazaa. Kazaa was a small thing? You bet not, the writing was on the wall since Internet inception.<br><br>5) Your new gig with HD videos? I don't get it yet. You are going to have a real hard time creating a passionate community of people downloading insanely huge files only to watch a passive media. Also, now that you are no more at Microsoft, you are back in a very crowded market. I hope you understand that the bulk of your audience has been listening more what you said about Microsoft because it was Microsoft, than what you said about you. It was not about you, it was about you as a Microsoft employee.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-07-03_04:00:05", "killed": false, "user_key": "51b85dca6c130363e1ce7c55be465d83", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9643938": {"up_voted": false, "ip": "", "has_replies": false, "message": "Stephane: there are parts of Microsoft that serve the business. At the end of the day Microsoft is a business and if it sees a way to make more money then it'll do that. I don't always agree with Microsoft. I don't like activation and this stuff either, even if I could see the need for it (piracy is a HUGE problem, particularly in societies where it's acceptable to steal intellectual property).<br><br>2) Because I didn't want to be a PM. What job would I have done? What reward would I have gotten for taking on new risk and giving up a freaking awesome job?<br><br>3) Forums are fun. I wrote 100,000 newsgroup posts in the 1990s. But, ask \"normal people\" about whether they use newsgroups and they have no idea. They do, however, know how to use Google, Yahoo, or MSN. Those bring up blogs many times more often than newsgroups or forums like the ones on Channel 9 (you do realize that Channel 9 is a forum too, right?)<br><br>4) Kazaa? Yeah, that really has gone on to make a big and respectable business.<br><br>5) You don't have to get what I'm gonna do. There's plenty of people out there who DO get it. PodTech is getting millions of downloads per month. So is its competitors.<br><br>As to Microsoft. You forget that I had a fairly large audience BEFORE I got to Microsoft. But, I already predicted myself that I'd lose a portion of my audience if I don't give them a payback similar to the Microsoft payback they got from when I was an insider there.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-07-03_04:12:18", "killed": false, "user_key": "456636993483a10e9b50ffe17733de4a", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9643939": {"up_voted": false, "ip": "", "has_replies": false, "message": "What is it about the possibility of failure that drives a person? I no longer have a job after eight years at the firm. I feel a bit more alive; I'm more alert. Employees of the company asked me if I was scared: I'm not. Conflicted, yes. I was the original computer guy at the law firm, and I'm no longer employed. It's wonderful to have the blood flowing more freely... isn't it?<br><br>BTW: What else do public company CEOs do but talk, read, meet and write? What? They build widgets in their corner offices? Mujibur seems a bit rude but worse he isn't specific. Details, my man.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-07-03_04:08:58", "killed": false, "user_key": "2c5e261014744121fa94ff3353c6c40b", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9643940": {"up_voted": false, "ip": "", "has_replies": false, "message": "Scoble - I've worked at MS for more than 5 years - how is it that I've never heard of you nor what you do?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-07-06_00:48:25", "killed": false, "user_key": "0f9183864181407933271fe918b4b82a", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9643941": {"up_voted": false, "ip": "", "has_replies": false, "message": "Irwin, I don't know. Where you been all this time?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-07-06_00:56:30", "killed": false, "user_key": "456636993483a10e9b50ffe17733de4a", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9643942": {"up_voted": false, "ip": "", "has_replies": false, "message": "@68<br><br>Dmad, its a joke...of course Bush cant run again. But the Dems better start trotting out something new other than \"I hate George W Bush\" if they hope to ever get elected again.<br><br>Granted, for most conservatives GW is far too liberal - so, the Dems better pull one big rabbit out of their hats come 08.... but I dont think its likely.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-07-06_02:21:28", "killed": false, "user_key": "b6aff68e4a50e33c8c104edad852e66f", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9643943": {"up_voted": false, "ip": "", "has_replies": false, "message": "Dmad, while I'm mostly with you (&amp; Lauri) on \"gay rights\" (and Lauri on \"representative republic\"), I must say that Scoble's proof is more compelling than you suggest with your latest rhetorical flourishes.<br><br>It is NOT irrelevant that Scoble has been recently rated so highly as a \"communicator\" -- against distinguished peers and competitors. And the gig was not discretely \"extracurricular.\" It's pertinent to his point that Scoble can communicate.<br><br>Now, you may argue that Scoble would be little without his Microsoft leverage. Maybe (though he'd likely reply with more historical evidence, e.g., Ch.9). But how many employees had opportunity to leverage Microsoft? And where is the near equivalent...at the same ethical level (i.e., excluding mini)? Maybe Scoble is not just a compelling communicator (external to Microsoft) but also a persuasive politician (internal).<br><br>And you could press your point on ROI. Coming from the Direct Marketing world, I sympathize. We want everything to be denominatable, trackable. But some things can't be. Some values can't be so reduced. \"Helping to change the face of Microsoft\" is a fuzzy feat. (But it might be a real feat, nonetheless!)<br><br>But to suggest that Scoble's role (not mere \"job\") is \"plug and playable\".... Really? (Technically, Steve Jobs' job is too. How many more copies of hardware has Steve directly sold...than, say, Sculley?)<br><br>Now, granted, Scoble is no CEO, President, or Founder of Apple or Microsoft. But that's not the point. We are entering a new (tech) era, and Scoble has been one of its chief communicators...for a chief company and her customers.<br><br>And consider the \"News.\" Were Rather, Jennings, Brokaw (or Cronkite) heads of their companies? Yet are their roles \"plug and play\"? Blogging may be different, but not so completely as you seem to suggest. Not for non-News companies...<br><br>Yesterday it was PR, today it is blogger as \"bridge\" between customer and corporation. What if 1,000,000 read him and 1% soften toward Microsoft while Microsoft actually becomes more \"friendly\"? Is there no value there?<br><br>Finally, are you quite sure that no one, nowhere, has reconsidered buying Microsoft (stock or product) in partial consideration of Robert's words? (If so, I'll happily provide a personal case study.)<br><br>As we learned from one of the founders of \"Direct Marketing\": \"The pen is mightier than the sword.\" Words change the world. While I do not support Robert in his use of them for certain advocacies, I recognize his distinctive skills for what they are. Their value should not be understated.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-07-05_16:10:04", "killed": false, "user_key": "75127f3933826f4daf5529c6ae474fb9", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9643944": {"up_voted": false, "ip": "", "has_replies": false, "message": "Drew, thanks, I appreciated every one of your comments, even the ones that disagreed with what I said. I learned a lot, and that's the most I can ask for. Would love to meet you someday.<br><br>As for new company to compete with the old? I guess that's what we're getting with Google anyway. Too bad that Gates didn't just spin off an Internet division to compete with the old fogeys anyway back in the late 1990s. If he had maybe Google wouldn't have existed. But, that's the innovator's dilemma, isn't it?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-07-09_22:26:22", "killed": false, "user_key": "456636993483a10e9b50ffe17733de4a", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9643945": {"up_voted": false, "ip": "", "has_replies": false, "message": "I hope I'm not too late to add to this. I'm an ex-'softie who spent the last few years in the Windows division. At the risk of being lost amongst the trolls but with the hope of actually helping someone out there . . . here are my reactions.<br><br>My perception is that most 'softies might not know you because most folks live in silos. The annual tech fair is an eye opener for a lot of people who don't have any idea what the rest of the company is doing. Is it any surprise that \"Scoble\" isn't a buzzword internally? If I would change one thing about Microsoft culture it would be this. Or maybe the empire-building that I believe eventually leads to the silo lifestyle.<br><br>IE 7 and Vista both have (shoddy) RSS client support. Not to mention the Live initiative. It's not that everyone at Microsoft is clueless, but rather that unless something has a solid business model it just ain't gonna happen. People outside of Microsoft didn't see the HUGE internal furvor from the folks with their boots on the ground (Individual Contributors) about OSS as everyone tried to get senior management to realize that Linux, Firefox, et al. were not only viable, but possibly a threat to some of the company's bottom line. I realize this runs counter to the silo statement above, but there are certainly some if not many engineers in the company who are real geeks, seeking out all the new cool things. Heck, RaymondC's sig used to be \"just another Linux hacker\". For better ___ support, the mantra is always \"wait for the next service pack\". Probably applies in this case.<br><br>Windows release cycles seem to have changed. The old model is 1) release the RTM version and 2) everyone finally runs it once you release SP1. The new model is to add 3) there's some \"refresh\" release like XP SP2 or WS03 R2 that is sort of a mini-RTM for a new OS. That seems to be the mechanism to add all those features that customers really wanted but just didn't ship at RTM. I wasn't an exec. I don't know what happens most days in the war meetings. I'm just a nobody. That's only what I observed from the trenches. I suppose it's better than the wait for NT4 SP4 was.<br><br>Remaking Microsoft into two camps, the younger of which is intended to kill the elder, sounds too much like an Apple nightmare of yore. I don't think you're Mini, but maybe you're related to Steve Jobs. As an engineer, that sounds dreadful. I leave it to anyone interested to Google up that history lesson. *shudder*<br><br>I completely agree about the need for a naming dictator. Forget about the personas. I've never met Abby or Ichiro. I'm more worried about my mom. I *love* my mom. The whole Messenger confusion is only one example of the needless support headaches I have with her. Maybe in some imaginary world those things bother Abby or Ichiro. I have no idea. I only know that mom doesn't like it.<br><br>I also agree that people hate Microsoft because it is now Goliath. I still remember when it was David instead. David could fight kinda dirty 'cause he was the underdog. Goliath needs to just stand there and take the hurt. Microsoft as David has gone the way of the Blibbet. Were I a bit more superstitious I'd cry out \"resurrect the Blibbet\", but I'm not. Goliath isn't cool. I don't know how to change that.<br><br>As far as roles go in Windows . . . well . . . that's a deep problem. Look to the NT object manager and ask how it should be changed to \"understand\" roles. Start there at the core and build out. I agree that the development community as a whole (and Microsoft especially) needs to start thinking in terms of roles. In practical terms, things are a little better in Unix-land. In design terms . . . um . . . I don't want to start a flame war, so I'll lay off. Suffice it to say that there are some really smart people in the Windows division who are starting to think about roles instead of just entities and their permissions (a big part of the problem is rooted in the security model). Expect a big change in the way stuff works. In 10-15 years. :-( I hope that I didn't break my NDA somehow with these statements.<br><br>On the inability to see small things: Absolutely any new initiative needs a business model. How much income can that new thing make? How much will the company lose if it doesn't implement that? The little things usually don't have any definable $$$ impact. I agree that there ought to be more flexibility to explore new income sources (meaning cool new tech), but unless you're in research that's probably not going to happen at Microsoft. Yes, there needs to be change. Taking small risks can pay off in the large. Taking large risks that the company keeps dumping money into might do that, too, but for my money I'd rahter have thousands of small longshot bets than only a handful of allegedly-not-longshots that seem to eventually pan out to be money pits.<br><br>Will Mac and Windows become one? Was that supposed to be a real question or a troll? Do that DaveC interview you wanted to do. Then go talk with some devs on Mach. I just don't see that happening. Ever. Apple currently (and quite happily) runs on a Unix(-like?) kernel. Windows is NT, which at heart is very VMS-like. Unix and VMS are oil and water (or vice versa). Dual booting might become more common. Once Bootcamp RTMs I'm going to go buy a Mac. There have been too many problems reported from early adopters for me to want to trust Bootcamp yet, though.<br><br>On the Google love (or not?): Google treats its engineers amazingly well. I have no idea about the non-engineers. It's biggest draw as an employer is exactly that. Work on cool stuff with very little management or process overhead, ship frequently, live/breathe tech but eat tasty healthy free food, be surrounded by some of the smartest people in the industry, and spend one day a week working on something else - whatever else, but be productive. Tell any engineer \"I'm going to take away all of the little problems in your day to day life and let you just focus on solving problems\". Hired. Period. That's Google. What they actually produce doesn't really excite me and I'll probably never work there, but I can see the reason they drain brains away from the likes of Microsoft.<br><br>In regard to Richard's question about Longhorn and Vista: Gotta ship the bits. Sometimes that means cutting most or all of the 3 main pillars you were building the product around. Oh, well. Anything good will eventually wander back into the source tree and ship in a later version. Maybe one day we'll finally see all of the Cairo features on a desktop. Who knows?<br><br>And about working at Microsoft: I went to Microsoft straight out of college. I spent ~7 years there working at a company that I would consider to be one of the best \"finishing schools\" for software engineers. On the one hand, there are smart people there working on almost anything you're interested in doing in software. On the other, it's like New York, New York - it can be rough; if you can make it there you can make it anywhere. I recommend it highly. I interviewed with several companies who told me that they prefer candidates with that kind of background.<br><br>Thanks for hearing/reading me out. I apologize for the length of the comment and also for my lack of any spelling or grammar checking. Hope it's not too offensive to the dictionary-huggers out there.<br><br>- Drew", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-07-09_21:31:49", "killed": false, "user_key": "8016aa596ba0aa9b31eea4da126579c1", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9643946": {"up_voted": false, "ip": "", "has_replies": false, "message": "Hi Guys,<br><br>Please follow this link to get un-limited interview questions on <a href=\"http://asp.net\" rel=\"nofollow\">asp.net</a>, testing, php, java, oracle etc.This site also includes Freelance projects, Online air ticket reservation functionality, gaming, latest sports news, discussion forum, directory submission, latest jobs.<br><br><a href=\"http://www.interviewhelper.org\" rel=\"nofollow\">http://www.interviewhelper.org</a><br><br>Follow the link and have all these functionalities under one url.<br><br>Thanks and Regards,<br>Interview Helper Team", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-09-29_07:03:46", "killed": false, "user_key": "a4318531f221cf1eb520dde3a85f8381", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9643874": {"up_voted": false, "ip": "", "has_replies": false, "message": "Scott &gt;It\u2019s wonderful to have the blood flowing more freely\u2026 isn\u2019t it?<br><br>It sure does! Yeah, my creativity is just flowing. It might not be coming out on the blog, but it sure is in my ideas and excitement.<br><br>Steve Jobs build a product? Heheh! Ask Woz about that one!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-07-03_04:14:10", "killed": false, "user_key": "456636993483a10e9b50ffe17733de4a", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9643875": {"up_voted": false, "ip": "", "has_replies": false, "message": "Scoble said \"there are parts of Microsoft that serve the business. At the end of the day Microsoft is a business and if it sees a way to make more money then it\u2019ll do that.\"<br><br>I don't have a problem with a company trying to make ton of money. I do have a problem with a company which lacks a code of ethics, and relies now on plain ext...ion to get their way. There cannot be any excuse. And again, it's hiding under the disguise of a critical security update, it's affecting legit customers (due to the many windows configurations out there), and the blog is PR. The old Microsoft lives.<br><br><br>Scoble said \"What job would I have done?\" : if MSN labs only offered you a job as a PM, then that's stupid.<br><br>Scoble said \"But, ask \u201cnormal people\u201d about whether they use newsgroups and they have no idea. They do, however, know how to use Google\" : there are three things in old-style public forums that every other forum lacks (including C9) : visibility, search made efficient thanks to Google groups, search results useful thanks to MS employees answering there. Just yesterday I was tackling a problem in a FTP stack. MSDN gave no clue whatsoever. Blogs? are you serious? MSDN online? forget about it. Google groups gave me targeted answers in 3 clicks, with the blessing of official code snippets from Microsoft. That counts a lot in my book...<br><br>Scoble said \"Kazaa? Yeah, that really has gone on to make a big and respectable business.\" : I know you are kidding, but you'll be the first to have users pay for the bandwidth to download your HD, so don't mock them, right?<br>As for Kazaa not being in a respectable business, don't blame the tool.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-07-03_04:40:31", "killed": false, "user_key": "51b85dca6c130363e1ce7c55be465d83", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9643876": {"up_voted": false, "ip": "", "has_replies": false, "message": "Interesting stuff, I wondered how this happened.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-07-07_05:05:24", "killed": false, "user_key": "9a8f75cf4bfbda303c25b33b7772acee", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9643877": {"up_voted": false, "ip": "", "has_replies": false, "message": "Cool.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-07-05_01:58:59", "killed": false, "user_key": "e8eb8398170fbfdb3ebc46e3b380d2ea", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9643878": {"up_voted": false, "ip": "", "has_replies": false, "message": "&gt; Not to mention quite a few beaches in Florida,<br>&gt; Hawaii, and California. Even the ones who wear<br>&gt; clothes only cover a few square inches of their<br>&gt; bodies.<br>&gt; Comment by Robert Scoble \u2014 July 4, 2006 @ 12:11 pm<br><br>And did you stop to ask everyone if they were all heterosexual/homosexual?  How could you tell? Oh, they were holding hands with a woman? I have gay friends that do that all the time. The difference is, Robert, I have some gay friends. I don't approve of the lifestyle and they know it.  They don't agree with my beliefs, and I know it. The difference is that we have common sense and respect for one another's differences.  They have enough sense to say that it's wrong for people to parade down a street naked just as much as anyone else.<br><br>Another tactic of the drones that schools like Berkley pump out is that they immediately tell people they are Nazis or compare them to Nazis simply because they don't let the minority viewpoints overrun majority views.  How about holding up a real argument instead of resorting to ad hominem?  Once you actually come back with facts and agree to stay on point, then we can discuss this intelligently. Until then, you are just another drone following the brainwashing you were given in the socialist school system we can state-run universities.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-07-06_19:18:11", "killed": false, "user_key": "b1cf9cbec617943451648934edca166b", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9643879": {"up_voted": false, "ip": "", "has_replies": false, "message": "@66. Well, I must admit you are sticking to the talking points, well.  Rights being taken away for \"protection\".  Seems no one had a problem with it during Roosevelt's tenure, but could that be because he was a Dem?  Nah!<br><br>No one is saying gays don't get treated unfairly. But, often it's their own doing because they shout from the rooftops that they are gay and demand that they get special rights?  Do you come into a room and announce you are straigth. Again, I could care less what your sexual proclivities are, it shouldn't be relevant to anything.<br><br>Your denseness never ceases to amaze me. I never said heterosexuals don't engage in PDA's. Gays do to, I have no problem with that. What I said was heterosexuals don't organize \"Straight Pride\" parades and demand that attention be given to them because f of their sexual choice like many gays do.  I have met, worked with, and are friends with many gays that are in fact embarrassed by such parades and the demands to heard, given \"special rights\" and wanting to use the court system to create laws rather than enforce them. They feel that in the long run it is counterproductive. Amazingly by not choosing to shout their gayness from the rooftops saying \"We're here and we're queer\", they find that they get treated rather fairly.<br><br><br><br>As for your attack on MacBoy, again your defensiveness gets in the way of seeing his point.  So you got good irrelevant scores at some random tech conference. Other than you, who the hell cares?  No  one but you likely remembered it a day later.   How many of those scores resulted in more sales of MS software? Shipping Vista sooner? Taking share away from your competitors?  Yea, again, I know numbers that translate into profits don't matter to you when it doesn't support your position, but his point was your actual job at MS seemed to be easily plug and playable, not your extracurricular activities.<br><br>And Lauri, not sure what you would be showing Bush in '08. He can't run again.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-07-05_00:26:32", "killed": false, "user_key": "c489355ab8af522634fdef64206a3954", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9643880": {"up_voted": false, "ip": "", "has_replies": false, "message": "Excellent insights Robert and one that my profession could learn a great deal from. All done without buting NDAs etc. That's an art.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-07-04_23:00:11", "killed": false, "user_key": "dahowlett", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9643881": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert,<br><br>I suggest you learn about the actual country you live in: the US is a representative republic regardless of what you wish we were, which means we are NOT a representative democracy.<br><br><br>As for Republicans taking away your rights? LOL! Thats a good one. I always get a kick out of the predictable responses of people who hate that the President's first job is to protect the country.<br><br>But we'll show Bush come 08... cause I'm never voting for him again!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-07-04_19:53:07", "killed": false, "user_key": "b6aff68e4a50e33c8c104edad852e66f", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9643882": {"up_voted": false, "ip": "", "has_replies": false, "message": "Thanks for correcting me, I just misspoke there. Too much emotion, not enough thinking. Heheh.<br><br>At times of \"protection\" is when we always hand over our rights. We're so predictable.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-07-04_20:12:11", "killed": false, "user_key": "456636993483a10e9b50ffe17733de4a", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9643883": {"up_voted": false, "ip": "", "has_replies": false, "message": "Scoble, I've read your blog for a few years now and admittedly have had mixed feelings about most of your writing. I've never commented here before but given I work for Apple I want to clarify that what you do, whether you call it communication or carry around a camera, is not at all comparable to the what Steve Jobs. The reason MS is not willing to pay you X dollars is because you don't have a measurable impact on their bottomline, it's simply not worth it because they can create a new Scoble very easily. On the other hand, someone like Steve Jobs. a great developer or even a salesmen deal directly with the companies business and thus are valued for higher. They cannot be replaced so easily.<br><br>Your type of work, blogging, is of value to Podtech. That is their core business, and thus they are willing to compensate you for it. Hopefully that helps clarify to you why MS or even us at Apple wouldn't pay you more then 100k a year.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-07-04_18:44:00", "killed": false, "user_key": "d4de9449d08f970707d381887be0e57b", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9643884": {"up_voted": false, "ip": "", "has_replies": false, "message": "Macboy: how do you know that Apple didn't offer me a job? I turned down quite a few jobs around the industry for more money than I'm making at Podtech.<br><br>And a Scoble can be created quite easily? Hmmm, it takes at least nine months and a Scoble has to be involved in the process and all the ones I know are already taken! :-)<br><br>But, seriously, if you think that a new one of me can be created quickly then you are smoking good dope over there in Steve Jobs' land. Can you bring some to my house in Half Moon Bay when I arrive?<br><br>You did miss that I got the best reviews at Google's Zeitgeist after only Malcolm Gladwell, didn't you? That I beat a Vice President of Microsoft's audience scores there who also spoke. That I beat the CEOs from AOL, Yahoo, and many other big name places. If it's so easy to communicate with audiences why didn't anyone else beat me?<br><br>Communication is NEVER as easy as it seems.<br><br>Hell, all of Bill Gates speech writers and coaches still haven't helped HIM become as good a communicator as Steve Jobs.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-07-04_19:05:31", "killed": false, "user_key": "456636993483a10e9b50ffe17733de4a", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9643885": {"up_voted": false, "ip": "", "has_replies": false, "message": "Lauri,<br><br>I didn't say you're a Nazi. Please be a careful reader. I said you would have LOVED the 1940s society in Germany. Why? Cause the majority kicked ass over the minority.<br><br>I answered the question very straightforward: we live in a representative democracy. Where law rules, not the mob. You want the mob to rule. I don't.<br><br>I've seen what that gets us. Our Republican mob is taking away rights left and right.<br><br>And, if you think Gays are treated equally well everywhere (even in California, where I have observed hate acts on playgrounds and murders on the street of San Francisco) you are drinking better Merlot than I am on this Fourth of July. Can I have some?<br><br>Since you lived in New Orleans (I'm still not sure about that) then you might talk to Ernie the Attorney and hear his stories of sex acts that take place during Mardi Graw. Heterosexual ones. Right out in front of everyone. And I'm not talking about the flashing of mamary glands that Maryam and I saw either.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-07-04_18:16:31", "killed": false, "user_key": "456636993483a10e9b50ffe17733de4a", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9643886": {"up_voted": false, "ip": "", "has_replies": false, "message": "So, Robert, you take pride in helping throw us back into the days when only the rich could vote and when, oddly enough, minorities had NO say-so in the rights of the land?  \"How so\", you might ask?<br><br>Back in our early colonies, land ownership is what granted voting rights to an individual. This generally kept out those \"pesky minorities, women and poor people\" -- leaving the decision making to high-minded rich people. Never mind the fact that the majority of people were NOT rich and minorities were too busy getting beaten by their plantation \"owners\" to go house shopping (please DO sense my outrage and sarcasm all at once).<br><br>You support having multi-billion dollar mega-corporations push their weight around to pass laws. (and even put aside the fact that you pushed for the two richest white guys in the company to put their support behind this bill). By doing so, a single few rich guys who run the company can bowl over the opinions of the masses -- effectively putting us back before the 15th amendment, the 19th amendment, and the voting rights act.<br><br>You stated that you wanted churches to stay out of politics yet our whole political system was created out of the need for religious liberty. I also didn't see you complaining when Congress made a law that created the Department of Education and then prohibited the free exercise of religion there (which had been done since we landed on Plymouth Rock).<br><br>Be truthful, you aren't fighting for minorities, you are pushing an agenda that would not have passed if you really believed in the democratic process.<br><br>Furthermore, this country was not founded on minority rule; it was founded on majority rule. All individuals are conferred the same rights, but when those votes are tallied, the most votes win.  If that means that the majority of people say that you can't wear purple shirts on Friday, then by golly, that's what needs to happen.  This is why these decisions were supposed to be left to the states and local governments.  Communities could make up rules that made sense to them, and some large group of nay-sayers from across the country couldn't force them to change just because they felt they should.<br><br>The point being Robert, you subverted the democratic system, pushed for two rich white guys to put their weight behind a law, then got out of the state so that you could revel in screwing the system once again.  Let me guess, you voted for Kerry?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-07-06_18:54:00", "killed": false, "user_key": "b1cf9cbec617943451648934edca166b", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9643887": {"up_voted": false, "ip": "", "has_replies": false, "message": "and one last thing, then im truly done with discussing anything of merit on your blog.<br><br>the naked gays who simulate sex on the streets in their Pride Parades are just an embarrassment to society as a whole. so, comparing a girl in a bikini on a beach to a gay male in assless chaps simulating sex with his partner of the moment is a bit of a stretch, even for you.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-07-04_16:02:12", "killed": false, "user_key": "b6aff68e4a50e33c8c104edad852e66f", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9643888": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert, I lived in New Orleans for about two years.. so, try again.<br><br><br>And are you calling me a Nazi? Wow... truly classy. And  since the gays are NOT in fact \"being crapped on\" by the majority, this issue is less than interesting to me.<br><br>Guess you just cannot answer it truthfully; you'd prefer to have our laws legislated to us, than let the public have any say. Its the way of the lefties ... make laws that the rest of us spend decades trying to extract back out, since they are wholly unecessary.<br><br>And for being such an advocate for \"tolerance\" you have shown zip, zero none for anyone that doesnt agree with your leftie bent. Good luck with that.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-07-04_15:47:00", "killed": false, "user_key": "b6aff68e4a50e33c8c104edad852e66f", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9643889": {"up_voted": false, "ip": "", "has_replies": false, "message": "One more thing; as for the gays who are in the closet still? That isnt because of what society says; its because they are inherently dishonest people. Dishonest with themselves, and everyone around them.<br><br>If we have to give them special rights so they can come out of the closet, then thats just sad. Nobody makes that decision but THEM. Not us.<br><br>And before you try that childishness of \"guess YOU dont know any gay people!!!\" I have a great brother who is gay, as well as a few uncles .. various friends, and our family doctor for the first 8 years we lived here.<br><br>Go try painting someone less intelligent into a corner with your hand wringing... it aint working.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-07-04_15:50:01", "killed": false, "user_key": "b6aff68e4a50e33c8c104edad852e66f", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9643890": {"up_voted": false, "ip": "", "has_replies": false, "message": "Lauri, then you might explain why many Microsoft employees wrote me and said \"thanks\" and explained why they remained in the closet. See, even if something is illegal, still doesn't make it uncommon. It's very hard to prove discrimination, too. Truth is we don't have many people who have an open mind to people who are different than themselves.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-07-04_15:06:58", "killed": false, "user_key": "456636993483a10e9b50ffe17733de4a", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9643891": {"up_voted": false, "ip": "", "has_replies": false, "message": "Lauri, you've obviously never been to New Orleans. Or Las Vegas during New Years. Or, San Francisco during Bay to Breakers. There are naked heterosexuals there in public. In Berkeley one naked guy even went to UC Cal.<br><br>And we don't live in a Democracy. If we did we'd see the majority beat up the minority everytime.<br><br>Sounds like you'd be happy in Nazi Germany. There the majority had its say.<br><br>I'm more into protecting minorities from being crapped on by the majorities.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-07-04_15:09:56", "killed": false, "user_key": "456636993483a10e9b50ffe17733de4a", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9643892": {"up_voted": false, "ip": "", "has_replies": false, "message": "Not to mention quite a few beaches in Florida, Hawaii, and California. Even the ones who wear clothes only cover a few square inches of their bodies.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-07-04_15:11:45", "killed": false, "user_key": "456636993483a10e9b50ffe17733de4a", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9643893": {"up_voted": false, "ip": "", "has_replies": false, "message": "Joe, we are not a constitutional democracy, we are a Republic... big difference.<br><br>as for gays being fired from a job, simply because they  are gay? That is already illegal. but it is illegal under an umbrella of issues that are illegal to fire someone for, and have been for some time now.<br><br>MS is among the frontrunners in the business world for allowing same sex benefits...<br><br>what Robert supposedly \"talked Steve Balmer into supporting\" was SPECIAL rights, for an already protected class of people; the American Worker.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-07-04_14:29:47", "killed": false, "user_key": "b6aff68e4a50e33c8c104edad852e66f", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9643894": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert,<br><br>I find this all truly fascinating. You will not have the discussion of a vote, will you? You simply cannot allow the public to voice its opinion on something YOU think we should all accept.<br><br>I can tolerate a number of things I dont approve of, but when one section of society deems they need \"special protections\" that the rest of us dont get, then yes, its an issue.<br><br>Gays in America are not being forced to sit in the back of the busses and never have been. Give me a break - they get a social pass on pretty much everything.<br><br>As for pride parades? Show me where heteros walk naked down any city street (I've lived all over the country - Ive seen it) and expect everyone else to just shut up.<br><br>Why are you so reluctant to allow the public to vote...? Can you answer that question?<br><br>As for Antioch, the church got involved AFTER the fact. And why is it a problem for a church to have an opinion on a political matter? There is actually no separation rule, although lefties for decades have been saying there is.<br><br>The Constitution states: Congress shall make no law intituting a state religion. But churches are more than welcome to have opinions; churches are not barred from this behavior.<br><br>Granted, since their opinion doesnt match up with yours, they are automatically wrong?<br><br>But still, answer my question about putting it to a public vote - if youre able.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-07-04_14:02:03", "killed": false, "user_key": "b6aff68e4a50e33c8c104edad852e66f", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9643895": {"up_voted": false, "ip": "", "has_replies": false, "message": "The United States seems alone among constitutional democracies in its inability to see the dangers of subjecting minority rights to majority votes. It seems impossible to eradicate the myth that people should be punished, e.g., by being fired from a job, because others disapprove of them. Adherents  are curiously willing to use 21st-century technologies like blogging, and 20th-century methods like lobbying, to perpetuate  a philosophy that seems nothing more than medieval.<br><br>Seen at a purely pragmatic level, if you run a  business in a state that's hostile to minorities, even to minorities you think justly and properly deserve hostility, your business is gonna suffer. Deservedly.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-07-04_14:05:23", "killed": false, "user_key": "46f1439b56e56ebf81d1c17666777c9e", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9643896": {"up_voted": false, "ip": "", "has_replies": false, "message": "Oh, Dmad, you can't be serious, can you? Every day is heterosexual day out in public. Yesterday when I was down in Seattle with Buzz I saw couples holding hands, kissing, lying together on the grass.<br><br>We make a HUGE display of heterosexual behavior. Ever been to Las Vegas? Why are there dozens of marriage chapels?<br><br>And we get a little upset when homosexuals throw a parade or fly a flag? Give me a break.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-07-04_13:24:26", "killed": false, "user_key": "456636993483a10e9b50ffe17733de4a", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9643897": {"up_voted": false, "ip": "", "has_replies": false, "message": "Dmad: a little known fact. My boss at the time was, and is, a member of the church that was pressuring Microsoft to change its stance.<br><br>So, taking that stand was certainly not a smart career move to make. Luckily I worked for a boss that separated his beliefs from his business decisions. But I didn't know that for sure before making that post.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-07-04_13:25:55", "killed": false, "user_key": "456636993483a10e9b50ffe17733de4a", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9643899": {"up_voted": false, "ip": "", "has_replies": false, "message": "Dmad: according to my family who grew up in Nazi Germany, yes, most people DID tolerate Nazism. That's why I stand up for minorities in our society so much. The majority often behaves like assholes toward minorities.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-07-04_12:51:11", "killed": false, "user_key": "456636993483a10e9b50ffe17733de4a", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9643900": {"up_voted": false, "ip": "", "has_replies": false, "message": "@42.  Well, marriage is not a right, otherwise I wouldn't need the state to endorse it.<br><br>As for your women and race examples the diffence there is one cannot choose their race or gender.  Now I'm sure this will get us way off the rails, but until someone can definitively prove the existence of a homosexual gene, or  can explain Anne Heche or bi-sexuality, many will remain unconvinced that one is not choosing to live thet lifestyle.<br><br>Still I'm curious why the gay community feels the need to where their sexual preferences on their sleeve?  I mean, I can't remember the last time I saw a \"Straight Pride\" parade, can you? In a way I feel that by advertising their sexual preferences they bring some if  this on themselves. I could care less what one does in their bedroom, why to gays thinks it's anyone business?<br><br>But to bring this back to the original point, given that MS seems to have a rather vocal internal lobbying group in the form of the \"GLEAM\" group, based on the email BusinessWeek published, and that this issue had apparently been on the table for a number of times in Washington in the past, I find it hard to believe that group was not already exercising its influence on Ballmer and thus find it lacking any credibility other than Scoble's own inflated ego that he was the catalyst in causing Ballmer to roll over (no pun intended)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-07-04_13:02:09", "killed": false, "user_key": "c489355ab8af522634fdef64206a3954", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9643901": {"up_voted": false, "ip": "", "has_replies": false, "message": "@45.  A free country.  Did Germany tolerate Nazism?  Did Eastern Europe tolerate Communism?  If the majority of the public disagrees with a lifestyle or way of life (don't get me wrong, I'm not equating those that choose to publized their sexual lifestyle with the above) they are well within their rights to not tolerate it. Hell, the US was founded because a large number of people didn't tolerate religious oppression.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-07-04_12:45:22", "killed": false, "user_key": "c489355ab8af522634fdef64206a3954", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9643902": {"up_voted": false, "ip": "", "has_replies": false, "message": "\"The public is under no obligation to TOLERATE a lifestyle they dont agree with.\" (My emphasis.)  -- What country are you living in?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-07-04_11:06:05", "killed": false, "user_key": "c541976499761a64df9ed503e351f0ce", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9643903": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert - As a serial entrepreneur pre-MS, I can tell you that the MS experience is extremely valuable for someone coming out of school.  A person can't understand a large organization, bureaucracy, or how to work with large companies without being on the inside for awhile.<br><br>Granted, there are some negatives:  unnecessary process, huge delta between MS haves/have nots, inability to make life-changing money without putting in a decade or more, etc.  However, it's a badge that helps make someone more well rounded and ultimately more valuable to future employers or new ventures.<br><br>It makes a lot of sense so long as a person can keep everything in perspective and make the leap when he/she is ready...as you have.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-07-04_11:22:17", "killed": false, "user_key": "ba7b3f4a2863e54557907c01aa615b09", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}}, "integration": {"receiver_url": "", "theme": 4, "reply_position": true, "disqus_logo": false}, "timer": {"timer_url": "http://localhost:8005", "thread_id": "18358459", "user_id": "anonymous", "forum_id": "125200", "hash": -2825854148722554060}, "thread": {"total_posts": 0, "paginate": false, "per_page": 0, "slug": "your_exit_interview_of_me", "num_pages": 1, "days_alive": 0, "realtime_paused": true, "id": 18358459, "num_posts": 72, "closed": true, "queued": false, "killed": false}, "reactions_limit": 10, "context": {"show_reply": false, "use_fb_connect": true, "forum_facebook_key": "faaf467d0f47abde553c3b8e0e1b3570", "use_yahoo": false, "subscribed": false, "use_twitter_signin": true, "use_openid": false, "realtime_speed": 5000}, "reactions_start": 0, "settings": {"debug": false, "disqus_url": "http://disqus.com", "media_url": "http://media.disqus.com"}, "media_url": "http://media.disqus.com"};
	/* */ this.jsonData.cookie_messages = {"user_created": null, "post_has_profile": null, "post_twitter": null, "post_not_approved": null}; this.jsonData.session = {"url": null, "name": null, "email": null}; /* */

	
	this.curPageId = 'dsq-comments';

	this.frames = {};
};

var disqus_popup_reference = null;

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



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

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

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

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

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

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

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

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

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





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



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

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

	this._lastHash = null;

	this._accumMsg = '';

	this._lastSeqno = 0;

	this.MAX_DATA_LEN	= 1024;

	this.WAIT_TIME		= 10;

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

};

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

FragmentPacket.prototype.log = function(msg) {



};

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

		hash = this.reader.name;
	} else {

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

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

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

		this._lastSeqno = seqno;

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

				this._accumMsg = '';

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

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

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

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

};

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

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

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

	if (packetNum === 0) {

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

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

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

	if (num_packets === packetNum) {

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

	this._lastSeqno++;

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

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

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

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

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

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


	this.receiverId = receiverId;
};

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

	var listener = function(e) {

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


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

		that.receiveCallback(data);
	};

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

PostMessagePacket.prototype.send = function(msg) {



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


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

	var packet;
	if (!msg) {

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

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

var JsonRpc = function() {

	this.ids = {};

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

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

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

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

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

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

				json = 'null';
				break;
		}

		return json;
	};

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

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

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

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

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

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

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

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

		send_func(this.objectToJSON(request));

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

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


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



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


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


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

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

	this.packetHandler = null;


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


	var _createReceiverForFragmentPacket = function() {

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

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

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

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

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

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

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

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

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

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

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

			that._ready = true;
		};

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

		that.receiver.onload = receiver_onload;







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

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

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

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


	var _createReceiverForPostMessage = function() {

		var receiver_onload = function() {

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

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


		ParentMessenger['_receiver_onload_' + receiverId] = receiver_onload;

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

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

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

};

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

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

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

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

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

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

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

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

	var sendFunc = function(msg) {

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


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


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

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

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

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

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

		if (msg.username) {

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	var handleSessionData = function(session) {

		var forum_url = Dsq.jsonData.forum.url;




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

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

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


	






Dsq.Themes = {};

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



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

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

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

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

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

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

		
		

		return html;

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

		html += Dsq.Templates.pagination();

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

		html += Dsq.Templates.reactions();

		
			html += Dsq.Templates.trackbacks();
		


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

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

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

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

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

		return html;
	};

	this.postBox = function(post_id, use_fallback_iframe) {


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

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


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

		var _requestUserInfo = function() {
			var html;



			var user_has_email = false;

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

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

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


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



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

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




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

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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



	
	this.chooseSubscribe = function(post_id) {

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

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

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

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

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

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

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

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

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

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

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

		d = auth_data;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

				body.appendChild(edit_area);

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

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

		Dsq.Templates.toggleEdit(post_id);
	};

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

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

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

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

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

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

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

		}

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

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

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

		var extra_params = '';

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

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


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

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

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

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




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

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

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

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

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

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

		Dsq.Templates.setLoadingButton(false);
	};

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

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




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

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

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

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

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

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


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


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

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


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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

		return [windowWidth, windowHeight];
	}

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

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

		return [scrollWidth, scrollTop];
	}

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

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

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

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

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

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

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

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

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

				form.appendChild(input);
			}
		}

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

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

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

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

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

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

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

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

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

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

		return params;
	};

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

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

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

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

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

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

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

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

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

	};

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

};
// Dsq.Utils

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

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

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

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

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

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

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

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

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

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

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

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

	};

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

		Dsq.Popup._closePopup(null, true);

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

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

		header = title;
		body = message;

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

	this.popAlert = this.popModal;

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

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

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

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

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

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

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

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

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

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

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

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

	};

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

		popup.style.display = 'block';

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

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

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

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

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

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

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

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

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

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

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

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

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

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

			return ret;
		};
	};

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

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

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

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


			//

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

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

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

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

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

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

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

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


	this.header = function() {

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

		

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

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

		
			html += Dsq.Templates.authPost();
		

		html += Dsq.Templates.reactions();

		
			html += Dsq.Templates.trackbacks();
		

		return html;
	};

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

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

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

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

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

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

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

		return html;
	}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	//
	// Post
	//

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

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

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

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

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

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

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

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

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

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

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

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

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

	//
	// Iframes
	//

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

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

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

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

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

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

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

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

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

	//
	// Menus
	//

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

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

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

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

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

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


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

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

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

	//
	// Popups
	//

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

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

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

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

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

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

		return this._popupGeneric(content);
	};

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

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

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

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

		return this._popupGeneric(content);
	};

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

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

		bodyHtml = message;

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

		return this._popupGeneric(content);
	};

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

	//
	// Actions
	//

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

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

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

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

		Dsq.Popup.popModal(message, title);

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

	//
	// Media
	//

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

	//
	// Callbacks
	//

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

		if(!openedMenu) {
			return;
		}

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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



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

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

};
// Dsq.Post


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

	
	this.adminIsOn = false;

	
	
	

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	return obj;
}();

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

}();

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

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

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

	return obj;
}();

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

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

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

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

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

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

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

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

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

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

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

		if (isblank(openid_url)) {
			return;
		}

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

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

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

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

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

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

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

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

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

	return obj;
}();


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





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

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

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

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

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

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





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

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

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

})();

Dsq.container.className = "clearfix";
Dsq.container.innerHTML = ' \
<ul id="dsq-comments">\
	 <li id="dsq-comment-9643927">\
	 <div id="dsq-comment-header-9643927" class="dsq-comment-header">\
	 <cite id="dsq-cite-9643927" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9643927">Mujibur</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9643927" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9643927" class="dsq-comment-message">Sorry -- but if you think that most of what Steve Jobs is communicate with other people, you don\'t have a clue.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9643930">\
	 <div id="dsq-comment-header-9643930" class="dsq-comment-header">\
	 <cite id="dsq-cite-9643930" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9643930" href="http://scobleizer.wordpress.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9643930" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9643930" class="dsq-comment-message">Mujibur: have you ever talked with a CEO? I have.<br><br>Jonathan Schwartz told me that his #1 job is communicating with other people. That\'s what he does most of the time. In meetings with customers. In the press. On stage at conferences. Etc.<br><br>I worked with lots of people who worked closely with Steve Jobs and they agree that most of what he does is communicate. Yeah, he fires people once in a while to make a point. Or, he negotiates deals. Or he brainstorms ideas with his top designers and developers and strategists, but most of his important work is speaking and communicating to groups of people.<br><br>Have you ever worked with a CEO of a major company?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9643929">\
	 <div id="dsq-comment-header-9643929" class="dsq-comment-header">\
	 <cite id="dsq-cite-9643929" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9643929" href="http://blog.nordquist.org" target="_blank" rel="nofollow">Brett Nordquist</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9643929" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9643929" class="dsq-comment-message">This was a very interesting posts that provided a lot of insight into Microsoft. I liked how you mentioned your helped write your offer to PodTech which tell sounds a lot like they came to you and were willing to do nearly anything to get you on board. I wonder if you had sought them out or vice versa?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9643928">\
	 <div id="dsq-comment-header-9643928" class="dsq-comment-header">\
	 <cite id="dsq-cite-9643928" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9643928" href="http://scobleizer.wordpress.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9643928" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9643928" class="dsq-comment-message">Brett: John and I were on a panel discussion together at Pepperdine University (talking with MBAs). Afterward we went drinking together and started talking and I asked him whether it\'d be interesting if I came to work for him and then we started riffing on that and it went from there.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9643937">\
	 <div id="dsq-comment-header-9643937" class="dsq-comment-header">\
	 <cite id="dsq-cite-9643937" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9643937">Stephane Rodriguez</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9643937" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9643937" class="dsq-comment-message">1) Microsoft tries to empower users? Hmm, read the WGA blog. I hope you\'re happy about the denial over issues that legit customers are having, and how Microsoft is introducing remotely-controlled software at the expense of users. Sure enough, this would be a good reason to leave such hostile company.<br><br>2) Didn\'t like Seattle anymore? Why didn\'t you move to the MSN labs then (or even better, Mac BU)? You are not resigning because of the commute, you must be leaving because you are sick of Microsoft.<br><br>3) Microsot easier to deal with? How? MS blogs are used as marketing tools. Might surprise you, but I prefer a lot passionate Microsoft employees taking the time to come and answer questions on public forums. That\'s where they are showing their worth.<br><br>4) I don\'t buy this "small things Microsoft has not seen". Take decentralized file sharing. It took off with Kazaa. Kazaa was a small thing? You bet not, the writing was on the wall since Internet inception.<br><br>5) Your new gig with HD videos? I don\'t get it yet. You are going to have a real hard time creating a passionate community of people downloading insanely huge files only to watch a passive media. Also, now that you are no more at Microsoft, you are back in a very crowded market. I hope you understand that the bulk of your audience has been listening more what you said about Microsoft because it was Microsoft, than what you said about you. It was not about you, it was about you as a Microsoft employee.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9643939">\
	 <div id="dsq-comment-header-9643939" class="dsq-comment-header">\
	 <cite id="dsq-cite-9643939" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9643939" href="http://www.betweenthecities.com/blog/ljr/" target="_blank" rel="nofollow">Scott Smith</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9643939" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9643939" class="dsq-comment-message">What is it about the possibility of failure that drives a person? I no longer have a job after eight years at the firm. I feel a bit more alive; I\'m more alert. Employees of the company asked me if I was scared: I\'m not. Conflicted, yes. I was the original computer guy at the law firm, and I\'m no longer employed. It\'s wonderful to have the blood flowing more freely... isn\'t it?<br><br>BTW: What else do public company CEOs do but talk, read, meet and write? What? They build widgets in their corner offices? Mujibur seems a bit rude but worse he isn\'t specific. Details, my man.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9643938">\
	 <div id="dsq-comment-header-9643938" class="dsq-comment-header">\
	 <cite id="dsq-cite-9643938" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9643938" href="http://scobleizer.wordpress.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9643938" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9643938" class="dsq-comment-message">Stephane: there are parts of Microsoft that serve the business. At the end of the day Microsoft is a business and if it sees a way to make more money then it\'ll do that. I don\'t always agree with Microsoft. I don\'t like activation and this stuff either, even if I could see the need for it (piracy is a HUGE problem, particularly in societies where it\'s acceptable to steal intellectual property).<br><br>2) Because I didn\'t want to be a PM. What job would I have done? What reward would I have gotten for taking on new risk and giving up a freaking awesome job?<br><br>3) Forums are fun. I wrote 100,000 newsgroup posts in the 1990s. But, ask "normal people" about whether they use newsgroups and they have no idea. They do, however, know how to use Google, Yahoo, or MSN. Those bring up blogs many times more often than newsgroups or forums like the ones on Channel 9 (you do realize that Channel 9 is a forum too, right?)<br><br>4) Kazaa? Yeah, that really has gone on to make a big and respectable business.<br><br>5) You don\'t have to get what I\'m gonna do. There\'s plenty of people out there who DO get it. PodTech is getting millions of downloads per month. So is its competitors.<br><br>As to Microsoft. You forget that I had a fairly large audience BEFORE I got to Microsoft. But, I already predicted myself that I\'d lose a portion of my audience if I don\'t give them a payback similar to the Microsoft payback they got from when I was an insider there.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9643874">\
	 <div id="dsq-comment-header-9643874" class="dsq-comment-header">\
	 <cite id="dsq-cite-9643874" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9643874" href="http://scobleizer.wordpress.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9643874" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9643874" class="dsq-comment-message">Scott &gt;It’s wonderful to have the blood flowing more freely… isn’t it?<br><br>It sure does! Yeah, my creativity is just flowing. It might not be coming out on the blog, but it sure is in my ideas and excitement.<br><br>Steve Jobs build a product? Heheh! Ask Woz about that one!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9643875">\
	 <div id="dsq-comment-header-9643875" class="dsq-comment-header">\
	 <cite id="dsq-cite-9643875" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9643875">Stephane Rodriguez</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9643875" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9643875" class="dsq-comment-message">Scoble said "there are parts of Microsoft that serve the business. At the end of the day Microsoft is a business and if it sees a way to make more money then it’ll do that."<br><br>I don\'t have a problem with a company trying to make ton of money. I do have a problem with a company which lacks a code of ethics, and relies now on plain ext...ion to get their way. There cannot be any excuse. And again, it\'s hiding under the disguise of a critical security update, it\'s affecting legit customers (due to the many windows configurations out there), and the blog is PR. The old Microsoft lives.<br><br><br>Scoble said "What job would I have done?" : if MSN labs only offered you a job as a PM, then that\'s stupid.<br><br>Scoble said "But, ask “normal people” about whether they use newsgroups and they have no idea. They do, however, know how to use Google" : there are three things in old-style public forums that every other forum lacks (including C9) : visibility, search made efficient thanks to Google groups, search results useful thanks to MS employees answering there. Just yesterday I was tackling a problem in a FTP stack. MSDN gave no clue whatsoever. Blogs? are you serious? MSDN online? forget about it. Google groups gave me targeted answers in 3 clicks, with the blessing of official code snippets from Microsoft. That counts a lot in my book...<br><br>Scoble said "Kazaa? Yeah, that really has gone on to make a big and respectable business." : I know you are kidding, but you\'ll be the first to have users pay for the bandwidth to download your HD, so don\'t mock them, right?<br>As for Kazaa not being in a respectable business, don\'t blame the tool.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9643936">\
	 <div id="dsq-comment-header-9643936" class="dsq-comment-header">\
	 <cite id="dsq-cite-9643936" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9643936" href="http://scobleizer.wordpress.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9643936" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9643936" class="dsq-comment-message">Stephane: normal people have no idea what Google Groups are. Please do some user research here. They know the main <a href="http://google.com" rel="nofollow">google.com</a> page, but rarely know anything else. Look at the market share stats!!! They are abysmal for anything else Google is doing.<br><br>You are actually proving my point. Advanced users know how to find things out. Normal people don\'t. You\'re advanced. Off the charts, actually, if you know about Google Groups.<br><br>The HD distribution problem will be solved soon. Watch <a href="http://RedSwoosh.com" rel="nofollow">RedSwoosh.com</a>.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9643933">\
	 <div id="dsq-comment-header-9643933" class="dsq-comment-header">\
	 <cite id="dsq-cite-9643933" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9643933">Stephane Rodriguez</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9643933" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9643933" class="dsq-comment-message">Hmmmm, used Google lately? You don\'t have to know Google groups.<br><br>Case in point. Google groups answers come aggregated in the main regular search results page. There is not enough of that right now to my taste, the archive is vastly superior to all MSDN combined all blogs combined, but that can change any day.<br><br>Read the JoelOnSoftware post on Microsoft thinking in IFs, by opposition to Google thinking in AI.<br><br>In addition, compare that to Microsoft silently cutting off old content in MSDN in a deliberate way to push the latest technologies. Just see what .NET did to WIN32, even though our Windows world revolves around WIN32, not .NET.<br><br>Redswoosh? thanks for the link. The site is down though.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9643932">\
	 <div id="dsq-comment-header-9643932" class="dsq-comment-header">\
	 <cite id="dsq-cite-9643932" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9643932" href="http://www.guyswithtowels.com/" target="_blank" rel="nofollow">Tim</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9643932" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9643932" class="dsq-comment-message">Robert - one \'exit question\' I meant to ask you but didn\'t get around to:<br><br>Now you\'re not working for Microsoft, do you think you will miss people who come to your blog and, regardless of the content of a post, will leave whiny/bitchy comments furthering their own anti-MS agenda?<br><br>(for examples, cast your eyes upwards)<br><br>Will ya miss it, eh? Will ya? :-)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9643931">\
	 <div id="dsq-comment-header-9643931" class="dsq-comment-header">\
	 <cite id="dsq-cite-9643931" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9643931" href="http://www.grumpyoldmatt.com/" target="_blank" rel="nofollow">Matt</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9643931" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9643931" class="dsq-comment-message">Quite frankly I find that an absolutely fantastic read. I don\'t know why, but I think that was/is the closest insight to life at Micrsoft we\'ll see for quite a while.<br><br>Anyway, my question. At Microsoft, were you discouraged from using non-MS products? For example, I read earlier this week that Bill Gates does not have an iPod (which is, of course, fine - it\'s not the law that everyone has to have one!) - if so, did you conform or rebel?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9643924">\
	 <div id="dsq-comment-header-9643924" class="dsq-comment-header">\
	 <cite id="dsq-cite-9643924" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9643924" href="http://clickrich.blogspot.com/" target="_blank" rel="nofollow">ClickRich</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9643924" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9643924" class="dsq-comment-message">A question I\'d like to know the answer to is "How long before you\'re back on the Microsoft payroll?"<br><br>Clearly, unless you\'re being incredibly devious, we can\'t expect you to know and, even if you were Mr Devious McDevious of Devious Street, we can even less expect you to tell us!<br><br>Yours, someone-who\'s-on-their-4th-technology-start-up.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9643919">\
	 <div id="dsq-comment-header-9643919" class="dsq-comment-header">\
	 <cite id="dsq-cite-9643919" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9643919" href="http://www.daviddalka.com/" target="_blank" rel="nofollow">David Dalka</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9643919" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9643919" class="dsq-comment-message">Great read, especially this point:<br>"I would actually start a new company that’s designed to destroy the old one."<br><br>I think you meant could the Beatles copy Elvis though. :)<br><br>I do disagree with an aspect of your other post though and will write on that later.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9643935">\
	 <div id="dsq-comment-header-9643935" class="dsq-comment-header">\
	 <cite id="dsq-cite-9643935" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9643935" href="http://scobleizer.wordpress.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9643935" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9643935" class="dsq-comment-message">&gt;At Microsoft, were you discouraged from using non-MS products?<br><br>No. The best thing was when the MSN Spaces team came over and asked me "how could we win you back?" The IE team did that too.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9643922">\
	 <div id="dsq-comment-header-9643922" class="dsq-comment-header">\
	 <cite id="dsq-cite-9643922" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9643922" href="http://markr.wordpress.com/" target="_blank" rel="nofollow">Mark Reinhold</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9643922" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9643922" class="dsq-comment-message">Were you valuable at Microsoft?<br><br>When I first got into blogging, I was reading Dave Winer, and from him, I got to You.<br><br>And YOU brought me back to the DARK SIDE. I realized that Microsoft was changing, or trying to change. Yes, they have a lot of good products.<br><br>I never used an apple, but I have a BSD machine behind me right now, and OSx is based on unix so we are the same.<br><br>Now wait for labor day. Our Summer here starts after Labor Day. You will be working then and probably wont get to enjoy the summer, but it will be nice.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9643925">\
	 <div id="dsq-comment-header-9643925" class="dsq-comment-header">\
	 <cite id="dsq-cite-9643925" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9643925">Dmad</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9643925" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9643925" class="dsq-comment-message">um, a read of businessweek tells one that you were likely not even close to being the one that got Ballmer  to change his positon. Unless we are being led te believe you are the chairman of this group that wrote the letter..<br><br><a href="http://www.businessweek.com/technology/content/may2005/tc20050512_7358_PG2_tc024.htm" rel="nofollow">http://www.businessweek.com/technology/content/...</a><br><br>Your name turns up nowhere in this reporting of the issue. You weren\'t even on the cc of the email. I think you clearly overestimate your importance on that issue.<br><br>On your salary issue, you said repeatedly your extracurricular activities were not part of your MS duites. Those duties only entailed toting around a camera and interviewing people. So, why would MS pay your for doing something the didn\'t help them sell more software? It seems you were getting paid what MS felt you were worth to the company. They obviously saw no value to them in your extra-curricular activities. So, your whining about the salary was strange. Now it would have made more sense if you said "I can make more giving speeches at fringe tech conferences than I can toting around a camera". But to whine that MS wasn\'t compensating you for something that wasn\'t part of your job in the first place seemed childish.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9643926">\
	 <div id="dsq-comment-header-9643926" class="dsq-comment-header">\
	 <cite id="dsq-cite-9643926" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9643926" href="http://scobleizer.wordpress.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9643926" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9643926" class="dsq-comment-message">Dmad: ask the head of the gay and lesbian group at Microsoft what he thinks. He wrote me a personal thanks. I don\'t care if I got the PR for it. I just care that the right thing got done.<br><br>On salary, even my night and weekend work added into my career at Microsoft. I was invited to Google because I was Microsoft\'s most visible blogger. Microsoft got a lot out of that visit.<br><br>Not everything at Microsoft is about selling more software.<br><br>And, maybe my skills weren\'t valued as much at Microsoft but they were valued by the marketplace. You might not like it. You might not agree with it. But it is there.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9643921">\
	 <div id="dsq-comment-header-9643921" class="dsq-comment-header">\
	 <cite id="dsq-cite-9643921" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9643921">Sarah</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9643921" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9643921" class="dsq-comment-message">Thanks for this post.<br><br>I agree with Scoble\'s Google Groups comment.  A tool like that is blatently obvious to a tech person (likewise, so is Google Scholar, which is fantastic for academics).  A regular person only knows regular google. A regular person types into that box exactly what is on their mind - believe me, I have seen people pour sentences into that box, I\'ve seen people put in a website into that box - i.e. <a href="http://scobleizer.wordpress.com" rel="nofollow">scobleizer.wordpress.com</a>.  And I\'m talking about people with a university education.<br><br>Just because the google reader interface is very very simple, and that the link is easy to access, doesn\'t mean the average person has ever used it, or know what it is.  Most people I know are a) afraid to click on things they don\'t know  b) not interested in things they haven\'t heard of before</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9643916">\
	 <div id="dsq-comment-header-9643916" class="dsq-comment-header">\
	 <cite id="dsq-cite-9643916" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9643916">Stephane Rodriguez</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9643916" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9643916" class="dsq-comment-message">Sarah,<br><br>In my case, results from Google groups appeared as part of the regular Google search results, aggregated at the top. I know this is not always done. I don\'t quite know the reason why it works like this, just many other UI tweaks that Google does every now and then. The point being, you don\'t have to know Google groups, it comes to you. Remember the motto of RSS : you don\'t have to know it, it comes to you.<br><br>I would agree that Google groups, Google reader, and the bulk of what came from Google labs so far are not mainstream, but that\'s besides my point.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9643909">\
	 <div id="dsq-comment-header-9643909" class="dsq-comment-header">\
	 <cite id="dsq-cite-9643909" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9643909" href="http://searchengines.wordpress.com/" target="_blank" rel="nofollow">searchengines</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9643909" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9643909" class="dsq-comment-message"><a href="http://digg.com/tech_news/Scoble_FINALLY_Reveals_things_he_could_NOT_say_While_at_Microsoft" rel="nofollow">http://digg.com/tech_news/Scoble_FINALLY_Reveal...</a><br><br><br>Thank you, but be prepaid you many be getting tens of thousands of extra hits to your site by days end</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9643910">\
	 <div id="dsq-comment-header-9643910" class="dsq-comment-header">\
	 <cite id="dsq-cite-9643910" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9643910" href="http://www.wirah.com/" target="_blank" rel="nofollow">web design uk</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9643910" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9643910" class="dsq-comment-message">Interesting. Hmm</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9643918">\
	 <div id="dsq-comment-header-9643918" class="dsq-comment-header">\
	 <cite id="dsq-cite-9643918" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9643918" href="http://lauriblog.wordpress.com/" target="_blank" rel="nofollow">Lauri</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9643918" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9643918" class="dsq-comment-message">Robert,<br><br>So youre the one who convinced Balmer to support the Gay Rights bill?<br><br>Yeah, technology companies really have a say so in legislation (thats sarcasm) - boneheaded move, my friend.<br><br>Only a leftie believes that legislators should write laws the people dont support, but hey, if youre moving to Cali, you should be ok with that :-P</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9643920">\
	 <div id="dsq-comment-header-9643920" class="dsq-comment-header">\
	 <cite id="dsq-cite-9643920" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9643920" href="http://scobleizer.wordpress.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9643920" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9643920" class="dsq-comment-message">Lauri, I know you\'re a Republican. So you\'re for getting rid of all lobbyists who work on behalf of companies and special interest groups? Cool! Something we\'d agree on! :-)<br><br>Not to mention it seems like you think that churches with 2,000 members should have any say in such things either. Is that what you\'re saying?<br><br>If so, I\'ll let you go first since you made the point. You tell your church to stay out of our public life and then I\'ll say the same thing to the companies I work for, OK?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9643917">\
	 <div id="dsq-comment-header-9643917" class="dsq-comment-header">\
	 <cite id="dsq-cite-9643917" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9643917">Dmad</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9643917" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9643917" class="dsq-comment-message">@24  Actually from a shareholder perspective and a business perspective everything IS about selling more software.  If they don\'t they don\'t stay in business.  It\'s pretty simple. And someone wants to make you a VP huh?  Scary.<br><br>As for the gay rights bill, whether the right thing was done is highly debatable. Many are of the opinion companies should stay neutral on such issues. But, we can agree to disagree there.   What\'s hilarious is how this issue showed how easily invfluenced Ballmer can be. It was an amaturish PR move on MS\'s part.<br><br>MS\'s performance during the time you were there would indicate they didn\'t get much out of your supposed visibility. But, I understand why you say numbers don\'t matter when they don\'t support your theory.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9643915">\
	 <div id="dsq-comment-header-9643915" class="dsq-comment-header">\
	 <cite id="dsq-cite-9643915" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9643915" href="http://scobleizer.wordpress.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9643915" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9643915" class="dsq-comment-message">Dmad: since arriving at Microsoft revenues have gone up. A LOT. Profits have gone up. A LOT. Customer satisfaction numbers have gone up for the first time in about a decade.<br><br>There were thousands of employees who signed a petition. But I was the first in public to sign my own name and speak out against it.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9643934">\
	 <div id="dsq-comment-header-9643934" class="dsq-comment-header">\
	 <cite id="dsq-cite-9643934" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9643934">Brian Shapiro</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9643934" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9643934" class="dsq-comment-message">robert,<br><br>I\'m not a republican.<br><br>I think corporations have a right to lobby, but its only proper they keep out of issues that don\'t directly impact their business. A corporation has a right to make a point that a law would impact their the market or their business.<br><br>Its similar for a religious organization or church. The issues are just different. A church can lobby to not have gay marriage;--and gay groups can lobby for it to be there.<br><br>---Unless there is a specific corporate perspective that matters to the issue, the involvement of corporate lobbying is hubris and unwelcome. Its not any different from a celebrity endorsing something just because they can sing and have no new or insightful perspective on the issue. Corporations shouldn\'t throw their weight behind issues that they have nothing distinct to say about. It makes politics more like a game and less about the reality of the issues. The corporations if they do it are doing it for PR.<br><br>Involvement of large amounts of money in politics and in contributions is a problem that i think should be met with restrictions, but thats a different issue than endorsement and lobbying that doesn\'t involve big money.<br><br>I made a comment when this issue first came up; we don\'t need corporations to be more involved in politics than they are. Its one thing to be happy to have helped a bill pass that you support, and another to be happy to have done it by using the weight of a corporation which will only support by weighing PR issues. Why are you proud of that?<br><br>You could have made a difference just mentioning the bill on your blog. You could have convinced Ballmer to make Microsoft\'s corporate culture more welcoming to gays. But I bet most people looking at the issue are thinking; why is it Microsoft\'s business?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9643923">\
	 <div id="dsq-comment-header-9643923" class="dsq-comment-header">\
	 <cite id="dsq-cite-9643923" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9643923" href="http://scobleizer.wordpress.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9643923" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9643923" class="dsq-comment-message">Because its people are affected. And, because, if a state has better laws it\'s easier to relocate smart people there.<br><br>Some of the best developers I know are gay. And, we\'ve already seen how one or two people can totally change the world of software.<br><br>So, this stuff impacts Microsoft\'s bottom line in a very real way.<br><br>There\'s a reason that the tech industry is very big in San Francisco and surrounding areas.<br><br>If Microsoft wants to compete with Silicon Valley it better have an environment that is MORE friendly toward potential workers. Ironically this bill didn\'t pass with eight years of Microsoft\'s support. It was only until a small church pushed around Microsoft that it passed. There\'s a lesson there too. Sometimes by advocating for a specific position you\'ll cause a blow-back that\'ll hurt your cause.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9643912">\
	 <div id="dsq-comment-header-9643912" class="dsq-comment-header">\
	 <cite id="dsq-cite-9643912" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9643912">scott gjerdingen</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9643912" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9643912" class="dsq-comment-message">Thanks Robert!<br><br>MSFT: Wonderful opportunity, wonderful journey, wonderful exit...the wheel goes round and round, please continue to share the experience.<br><br>- scott -</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9643914">\
	 <div id="dsq-comment-header-9643914" class="dsq-comment-header">\
	 <cite id="dsq-cite-9643914" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9643914" href="http://www.sharplogic.com/blogs/ed" target="_blank" rel="nofollow">Ed Kaim</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9643914" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9643914" class="dsq-comment-message">Hey, I thought you weren\'t taking credit for Microsoft\'s change in stance on HB1515?<br><br><a href="http://radio.weblogs.com/0001011/2005/05/06.html#a10011" rel="nofollow">http://radio.weblogs.com/0001011/2005/05/06.htm...</a><br><br>Do I get a hundred Scoble dollars to spend at Channel 9 now?<br><br>:-)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9643913">\
	 <div id="dsq-comment-header-9643913" class="dsq-comment-header">\
	 <cite id="dsq-cite-9643913" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9643913" href="http://scobleizer.wordpress.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9643913" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9643913" class="dsq-comment-message">Ed: well, I didn\'t take credit back then cause I didn\'t think I did that big a thing. But, I\'ve gotten thanks from many gay Microsoft employees saying that my support of them meant an awful lot (including a really nice note a week or so ago from the leader of GAIM, Microsoft\'s gay and lesbian employee association). So, I\'ve been convinced that I did play a key role, although I didn\'t think what I did was that big a deal back then.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9643911">\
	 <div id="dsq-comment-header-9643911" class="dsq-comment-header">\
	 <cite id="dsq-cite-9643911" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9643911">Dmad</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9643911" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9643911" class="dsq-comment-message">@32 And yet investors have been unimpressed.. A LOT.  Please tell me you aren\'t taking credit for revenues and profits going up. Remind me again what product you were responsible for producing?<br><br>That "boo hoo! it will hurt recruiting" is a red herring. I pretty sure  MS\'s stance on social issues will not be a make or break deal between an offer from, say, Google and and offer from Microsoft for a potential hire.<br><br>And I\'m not sure but I\'d be willing to bet the % of people affected in MS, or even the tech industry are reflective of society. I mean, this isn\'t the rag business, or the dance business. So, MS is appealing to special interest minority groups and not the larger company. Again, I rather doubt this will be a make or break deal in hiring highly skilled candidates.<br><br>So, in your "Bay Area" comment certainly your are not positing that the tech industry grew out of the gay community in the Bay Area, are you?  It\'s likely that there might be a higher percentage of gays in the tech industry in the Bay Area because,well, there\'s a higher percentage of gays in the candidate poll. But that doesn\'t necessarily extrapolate nationally. Again, I say as you increase the candidate poll, (and I\'m sure MS recruits beyond Seattle and the Bay Area) the percentage of people affected by MS\'s policy likely reflect the national and WW numbers. Which is to say, is 3% or under (it\'s NOT 10% as some are led to believe). So, in short MS caved to minority special interests.  Which means they really didn\'t care about ALL their people, only a select few.<br><br>Look, if MS wants to have that policy, fine. Let them. They are well within their rights to have whatever hiring policies they want. Nothing wrong with that. They should NOT, however, tell elected officials how they should vote, nor try to influence what other businesses\'s policies should be.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9643908">\
	 <div id="dsq-comment-header-9643908" class="dsq-comment-header">\
	 <cite id="dsq-cite-9643908" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9643908" href="http://lauriblog.wordpress.com/" target="_blank" rel="nofollow">Lauri</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9643908" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9643908" class="dsq-comment-message">Robert, if MS had stayed out of this very hotly debated issue, my church would have been quiet as well, church mice..<br><br>If the legislature is so sure its what the people want, why are they too scared to let the people of this state vote on it? Is it possibly because no state to date has gotten approval thru the voting process to brand a lifestyle as needing extra protections? That\'s a big yes indeedy.<br><br>And yes, I would say lobbyists are a total cancer to a republic..<br><br>But I agree with Dmad in the extreme; there are a bunch of bullies inside MS who think they can get their sympathetic legislature to roll over the public; and to that end, I hope those legislators have a short public life and will soon be voted out.<br><br>In fact, I think we can all but count on it in the next few elections here.. :-)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9643907">\
	 <div id="dsq-comment-header-9643907" class="dsq-comment-header">\
	 <cite id="dsq-cite-9643907" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9643907" href="http://lauriblog.wordpress.com/" target="_blank" rel="nofollow">Lauri</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9643907" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9643907" class="dsq-comment-message">oh, and p.s. ..<br><br>our church has about 3500 members, not 2000. :-)<br><br>like Hutch keeps saying, when you step into our world, we have every right to step into yours... right?<br><br>i feel 100% sure that Antioch did not go looking for this particular fight. The Gay &amp; Lesbian Advocates have been trying to force this on the public for more than 2 decades. The public is under no obligation to tolerate a lifestyle they dont agree with.<br><br>Therein lies the problem; you cannot and will never be able, to force the public to accept or tolerate a lifestyle they dont approve of. Not even legislation will do it .. but if the advocates inside of MS who whined to Balmer that they werent getting all the special protections they deemed necessary were really interested in what the public thinks, and not forcing themselves on the rest of us, then they should put it to a vote.<br><br>what is the problem with that?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9643906">\
	 <div id="dsq-comment-header-9643906" class="dsq-comment-header">\
	 <cite id="dsq-cite-9643906" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9643906">hadi</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9643906" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9643906" class="dsq-comment-message">To lauri:<br><br>You can open up the public\'s mind about ideas though and help them understand that gay and lesbian people are good people, who just have different urges.<br>f like gay marriage (otherwise the bush a<br>Back in the days of the past, many people thought that being a working woman was an "unacceptable lifestyle", that women voting was unacceptable or even that a world where blacks and whites are equal was "unacceptable". Yet those who believe in the cause of equality and equal rights  \'forced\' themselves on the public and made the public understand that they were just humans who deserved the same rights as majority.<br><br>I would also like to point out that there isn\'t any such solid majority you speak of on stufdmin would have been able to pass all the bills they wanted to ban it).</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9643904">\
	 <div id="dsq-comment-header-9643904" class="dsq-comment-header">\
	 <cite id="dsq-cite-9643904" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9643904">Flynn</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9643904" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9643904" class="dsq-comment-message">"Huh? Name one thing that Longhorn would have let you do that Vista doesn’t let you do."<br><br>Ummmmm... WinFS!??!?!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9643905">\
	 <div id="dsq-comment-header-9643905" class="dsq-comment-header">\
	 <cite id="dsq-cite-9643905" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9643905" href="http://makemarketinghistory.blogspot.com/" target="_blank" rel="nofollow">john dodds</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9643905" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9643905" class="dsq-comment-message">I\'m no techie, but didn\'t Kazaa effectively mutate into Skype?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9643902">\
	 <div id="dsq-comment-header-9643902" class="dsq-comment-header">\
	 <cite id="dsq-cite-9643902" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9643902">Jack</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9643902" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9643902" class="dsq-comment-message">"The public is under no obligation to TOLERATE a lifestyle they dont agree with." (My emphasis.)  -- What country are you living in?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9643903">\
	 <div id="dsq-comment-header-9643903" class="dsq-comment-header">\
	 <cite id="dsq-cite-9643903" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9643903">Burrito</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9643903" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9643903" class="dsq-comment-message">Robert - As a serial entrepreneur pre-MS, I can tell you that the MS experience is extremely valuable for someone coming out of school.  A person can\'t understand a large organization, bureaucracy, or how to work with large companies without being on the inside for awhile.<br><br>Granted, there are some negatives:  unnecessary process, huge delta between MS haves/have nots, inability to make life-changing money without putting in a decade or more, etc.  However, it\'s a badge that helps make someone more well rounded and ultimately more valuable to future employers or new ventures.<br><br>It makes a lot of sense so long as a person can keep everything in perspective and make the leap when he/she is ready...as you have.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9643901">\
	 <div id="dsq-comment-header-9643901" class="dsq-comment-header">\
	 <cite id="dsq-cite-9643901" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9643901">Dmad</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9643901" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9643901" class="dsq-comment-message">@45.  A free country.  Did Germany tolerate Nazism?  Did Eastern Europe tolerate Communism?  If the majority of the public disagrees with a lifestyle or way of life (don\'t get me wrong, I\'m not equating those that choose to publized their sexual lifestyle with the above) they are well within their rights to not tolerate it. Hell, the US was founded because a large number of people didn\'t tolerate religious oppression.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9643899">\
	 <div id="dsq-comment-header-9643899" class="dsq-comment-header">\
	 <cite id="dsq-cite-9643899" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9643899" href="http://scobleizer.wordpress.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9643899" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9643899" class="dsq-comment-message">Dmad: according to my family who grew up in Nazi Germany, yes, most people DID tolerate Nazism. That\'s why I stand up for minorities in our society so much. The majority often behaves like assholes toward minorities.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9643900">\
	 <div id="dsq-comment-header-9643900" class="dsq-comment-header">\
	 <cite id="dsq-cite-9643900" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9643900">Dmad</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9643900" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9643900" class="dsq-comment-message">@42.  Well, marriage is not a right, otherwise I wouldn\'t need the state to endorse it.<br><br>As for your women and race examples the diffence there is one cannot choose their race or gender.  Now I\'m sure this will get us way off the rails, but until someone can definitively prove the existence of a homosexual gene, or  can explain Anne Heche or bi-sexuality, many will remain unconvinced that one is not choosing to live thet lifestyle.<br><br>Still I\'m curious why the gay community feels the need to where their sexual preferences on their sleeve?  I mean, I can\'t remember the last time I saw a "Straight Pride" parade, can you? In a way I feel that by advertising their sexual preferences they bring some if  this on themselves. I could care less what one does in their bedroom, why to gays thinks it\'s anyone business?<br><br>But to bring this back to the original point, given that MS seems to have a rather vocal internal lobbying group in the form of the "GLEAM" group, based on the email BusinessWeek published, and that this issue had apparently been on the table for a number of times in Washington in the past, I find it hard to believe that group was not already exercising its influence on Ballmer and thus find it lacking any credibility other than Scoble\'s own inflated ego that he was the catalyst in causing Ballmer to roll over (no pun intended)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9643896">\
	 <div id="dsq-comment-header-9643896" class="dsq-comment-header">\
	 <cite id="dsq-cite-9643896" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9643896" href="http://scobleizer.wordpress.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9643896" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9643896" class="dsq-comment-message">Oh, Dmad, you can\'t be serious, can you? Every day is heterosexual day out in public. Yesterday when I was down in Seattle with Buzz I saw couples holding hands, kissing, lying together on the grass.<br><br>We make a HUGE display of heterosexual behavior. Ever been to Las Vegas? Why are there dozens of marriage chapels?<br><br>And we get a little upset when homosexuals throw a parade or fly a flag? Give me a break.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9643897">\
	 <div id="dsq-comment-header-9643897" class="dsq-comment-header">\
	 <cite id="dsq-cite-9643897" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9643897" href="http://scobleizer.wordpress.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9643897" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9643897" class="dsq-comment-message">Dmad: a little known fact. My boss at the time was, and is, a member of the church that was pressuring Microsoft to change its stance.<br><br>So, taking that stand was certainly not a smart career move to make. Luckily I worked for a boss that separated his beliefs from his business decisions. But I didn\'t know that for sure before making that post.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9643894">\
	 <div id="dsq-comment-header-9643894" class="dsq-comment-header">\
	 <cite id="dsq-cite-9643894" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9643894" href="http://lauriblog.wordpress.com/" target="_blank" rel="nofollow">Lauri</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9643894" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9643894" class="dsq-comment-message">Robert,<br><br>I find this all truly fascinating. You will not have the discussion of a vote, will you? You simply cannot allow the public to voice its opinion on something YOU think we should all accept.<br><br>I can tolerate a number of things I dont approve of, but when one section of society deems they need "special protections" that the rest of us dont get, then yes, its an issue.<br><br>Gays in America are not being forced to sit in the back of the busses and never have been. Give me a break - they get a social pass on pretty much everything.<br><br>As for pride parades? Show me where heteros walk naked down any city street (I\'ve lived all over the country - Ive seen it) and expect everyone else to just shut up.<br><br>Why are you so reluctant to allow the public to vote...? Can you answer that question?<br><br>As for Antioch, the church got involved AFTER the fact. And why is it a problem for a church to have an opinion on a political matter? There is actually no separation rule, although lefties for decades have been saying there is.<br><br>The Constitution states: Congress shall make no law intituting a state religion. But churches are more than welcome to have opinions; churches are not barred from this behavior.<br><br>Granted, since their opinion doesnt match up with yours, they are automatically wrong?<br><br>But still, answer my question about putting it to a public vote - if youre able.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9643895">\
	 <div id="dsq-comment-header-9643895" class="dsq-comment-header">\
	 <cite id="dsq-cite-9643895" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9643895" href="http://joeclark.org/weblogs/" target="_blank" rel="nofollow">Joe Clark</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9643895" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9643895" class="dsq-comment-message">The United States seems alone among constitutional democracies in its inability to see the dangers of subjecting minority rights to majority votes. It seems impossible to eradicate the myth that people should be punished, e.g., by being fired from a job, because others disapprove of them. Adherents  are curiously willing to use 21st-century technologies like blogging, and 20th-century methods like lobbying, to perpetuate  a philosophy that seems nothing more than medieval.<br><br>Seen at a purely pragmatic level, if you run a  business in a state that\'s hostile to minorities, even to minorities you think justly and properly deserve hostility, your business is gonna suffer. Deservedly.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9643893">\
	 <div id="dsq-comment-header-9643893" class="dsq-comment-header">\
	 <cite id="dsq-cite-9643893" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9643893" href="http://lauriblog.wordpress.com/" target="_blank" rel="nofollow">Lauri</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9643893" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9643893" class="dsq-comment-message">Joe, we are not a constitutional democracy, we are a Republic... big difference.<br><br>as for gays being fired from a job, simply because they  are gay? That is already illegal. but it is illegal under an umbrella of issues that are illegal to fire someone for, and have been for some time now.<br><br>MS is among the frontrunners in the business world for allowing same sex benefits...<br><br>what Robert supposedly "talked Steve Balmer into supporting" was SPECIAL rights, for an already protected class of people; the American Worker.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9643890">\
	 <div id="dsq-comment-header-9643890" class="dsq-comment-header">\
	 <cite id="dsq-cite-9643890" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9643890" href="http://scobleizer.wordpress.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9643890" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9643890" class="dsq-comment-message">Lauri, then you might explain why many Microsoft employees wrote me and said "thanks" and explained why they remained in the closet. See, even if something is illegal, still doesn\'t make it uncommon. It\'s very hard to prove discrimination, too. Truth is we don\'t have many people who have an open mind to people who are different than themselves.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9643891">\
	 <div id="dsq-comment-header-9643891" class="dsq-comment-header">\
	 <cite id="dsq-cite-9643891" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9643891" href="http://scobleizer.wordpress.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9643891" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9643891" class="dsq-comment-message">Lauri, you\'ve obviously never been to New Orleans. Or Las Vegas during New Years. Or, San Francisco during Bay to Breakers. There are naked heterosexuals there in public. In Berkeley one naked guy even went to UC Cal.<br><br>And we don\'t live in a Democracy. If we did we\'d see the majority beat up the minority everytime.<br><br>Sounds like you\'d be happy in Nazi Germany. There the majority had its say.<br><br>I\'m more into protecting minorities from being crapped on by the majorities.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9643892">\
	 <div id="dsq-comment-header-9643892" class="dsq-comment-header">\
	 <cite id="dsq-cite-9643892" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9643892" href="http://scobleizer.wordpress.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9643892" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9643892" class="dsq-comment-message">Not to mention quite a few beaches in Florida, Hawaii, and California. Even the ones who wear clothes only cover a few square inches of their bodies.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9643888">\
	 <div id="dsq-comment-header-9643888" class="dsq-comment-header">\
	 <cite id="dsq-cite-9643888" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9643888" href="http://lauriblog.wordpress.com/" target="_blank" rel="nofollow">Lauri</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9643888" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9643888" class="dsq-comment-message">Robert, I lived in New Orleans for about two years.. so, try again.<br><br><br>And are you calling me a Nazi? Wow... truly classy. And  since the gays are NOT in fact "being crapped on" by the majority, this issue is less than interesting to me.<br><br>Guess you just cannot answer it truthfully; you\'d prefer to have our laws legislated to us, than let the public have any say. Its the way of the lefties ... make laws that the rest of us spend decades trying to extract back out, since they are wholly unecessary.<br><br>And for being such an advocate for "tolerance" you have shown zip, zero none for anyone that doesnt agree with your leftie bent. Good luck with that.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9643889">\
	 <div id="dsq-comment-header-9643889" class="dsq-comment-header">\
	 <cite id="dsq-cite-9643889" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9643889" href="http://lauriblog.wordpress.com/" target="_blank" rel="nofollow">Lauri</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9643889" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9643889" class="dsq-comment-message">One more thing; as for the gays who are in the closet still? That isnt because of what society says; its because they are inherently dishonest people. Dishonest with themselves, and everyone around them.<br><br>If we have to give them special rights so they can come out of the closet, then thats just sad. Nobody makes that decision but THEM. Not us.<br><br>And before you try that childishness of "guess YOU dont know any gay people!!!" I have a great brother who is gay, as well as a few uncles .. various friends, and our family doctor for the first 8 years we lived here.<br><br>Go try painting someone less intelligent into a corner with your hand wringing... it aint working.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9643887">\
	 <div id="dsq-comment-header-9643887" class="dsq-comment-header">\
	 <cite id="dsq-cite-9643887" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9643887" href="http://lauriblog.wordpress.com/" target="_blank" rel="nofollow">Lauri</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9643887" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9643887" class="dsq-comment-message">and one last thing, then im truly done with discussing anything of merit on your blog.<br><br>the naked gays who simulate sex on the streets in their Pride Parades are just an embarrassment to society as a whole. so, comparing a girl in a bikini on a beach to a gay male in assless chaps simulating sex with his partner of the moment is a bit of a stretch, even for you.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9643885">\
	 <div id="dsq-comment-header-9643885" class="dsq-comment-header">\
	 <cite id="dsq-cite-9643885" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9643885" href="http://scobleizer.wordpress.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9643885" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9643885" class="dsq-comment-message">Lauri,<br><br>I didn\'t say you\'re a Nazi. Please be a careful reader. I said you would have LOVED the 1940s society in Germany. Why? Cause the majority kicked ass over the minority.<br><br>I answered the question very straightforward: we live in a representative democracy. Where law rules, not the mob. You want the mob to rule. I don\'t.<br><br>I\'ve seen what that gets us. Our Republican mob is taking away rights left and right.<br><br>And, if you think Gays are treated equally well everywhere (even in California, where I have observed hate acts on playgrounds and murders on the street of San Francisco) you are drinking better Merlot than I am on this Fourth of July. Can I have some?<br><br>Since you lived in New Orleans (I\'m still not sure about that) then you might talk to Ernie the Attorney and hear his stories of sex acts that take place during Mardi Graw. Heterosexual ones. Right out in front of everyone. And I\'m not talking about the flashing of mamary glands that Maryam and I saw either.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9643883">\
	 <div id="dsq-comment-header-9643883" class="dsq-comment-header">\
	 <cite id="dsq-cite-9643883" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9643883">Macboy</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9643883" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9643883" class="dsq-comment-message">Scoble, I\'ve read your blog for a few years now and admittedly have had mixed feelings about most of your writing. I\'ve never commented here before but given I work for Apple I want to clarify that what you do, whether you call it communication or carry around a camera, is not at all comparable to the what Steve Jobs. The reason MS is not willing to pay you X dollars is because you don\'t have a measurable impact on their bottomline, it\'s simply not worth it because they can create a new Scoble very easily. On the other hand, someone like Steve Jobs. a great developer or even a salesmen deal directly with the companies business and thus are valued for higher. They cannot be replaced so easily.<br><br>Your type of work, blogging, is of value to Podtech. That is their core business, and thus they are willing to compensate you for it. Hopefully that helps clarify to you why MS or even us at Apple wouldn\'t pay you more then 100k a year.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9643884">\
	 <div id="dsq-comment-header-9643884" class="dsq-comment-header">\
	 <cite id="dsq-cite-9643884" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9643884" href="http://scobleizer.wordpress.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9643884" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9643884" class="dsq-comment-message">Macboy: how do you know that Apple didn\'t offer me a job? I turned down quite a few jobs around the industry for more money than I\'m making at Podtech.<br><br>And a Scoble can be created quite easily? Hmmm, it takes at least nine months and a Scoble has to be involved in the process and all the ones I know are already taken! :-)<br><br>But, seriously, if you think that a new one of me can be created quickly then you are smoking good dope over there in Steve Jobs\' land. Can you bring some to my house in Half Moon Bay when I arrive?<br><br>You did miss that I got the best reviews at Google\'s Zeitgeist after only Malcolm Gladwell, didn\'t you? That I beat a Vice President of Microsoft\'s audience scores there who also spoke. That I beat the CEOs from AOL, Yahoo, and many other big name places. If it\'s so easy to communicate with audiences why didn\'t anyone else beat me?<br><br>Communication is NEVER as easy as it seems.<br><br>Hell, all of Bill Gates speech writers and coaches still haven\'t helped HIM become as good a communicator as Steve Jobs.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9643881">\
	 <div id="dsq-comment-header-9643881" class="dsq-comment-header">\
	 <cite id="dsq-cite-9643881" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9643881" href="http://lauriblog.wordpress.com/" target="_blank" rel="nofollow">Lauri</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9643881" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9643881" class="dsq-comment-message">Robert,<br><br>I suggest you learn about the actual country you live in: the US is a representative republic regardless of what you wish we were, which means we are NOT a representative democracy.<br><br><br>As for Republicans taking away your rights? LOL! Thats a good one. I always get a kick out of the predictable responses of people who hate that the President\'s first job is to protect the country.<br><br>But we\'ll show Bush come 08... cause I\'m never voting for him again!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9643882">\
	 <div id="dsq-comment-header-9643882" class="dsq-comment-header">\
	 <cite id="dsq-cite-9643882" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9643882" href="http://scobleizer.wordpress.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9643882" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9643882" class="dsq-comment-message">Thanks for correcting me, I just misspoke there. Too much emotion, not enough thinking. Heheh.<br><br>At times of "protection" is when we always hand over our rights. We\'re so predictable.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9643880">\
	 <div id="dsq-comment-header-9643880" class="dsq-comment-header">\
	 <cite id="dsq-cite-9643880" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9643880" href="http://www.dahowlett.com" target="_blank" rel="nofollow">dahowlett</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9643880" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9643880" class="dsq-comment-message">Excellent insights Robert and one that my profession could learn a great deal from. All done without buting NDAs etc. That\'s an art.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9643879">\
	 <div id="dsq-comment-header-9643879" class="dsq-comment-header">\
	 <cite id="dsq-cite-9643879" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9643879">Dmad</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9643879" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9643879" class="dsq-comment-message">@66. Well, I must admit you are sticking to the talking points, well.  Rights being taken away for "protection".  Seems no one had a problem with it during Roosevelt\'s tenure, but could that be because he was a Dem?  Nah!<br><br>No one is saying gays don\'t get treated unfairly. But, often it\'s their own doing because they shout from the rooftops that they are gay and demand that they get special rights?  Do you come into a room and announce you are straigth. Again, I could care less what your sexual proclivities are, it shouldn\'t be relevant to anything.<br><br>Your denseness never ceases to amaze me. I never said heterosexuals don\'t engage in PDA\'s. Gays do to, I have no problem with that. What I said was heterosexuals don\'t organize "Straight Pride" parades and demand that attention be given to them because f of their sexual choice like many gays do.  I have met, worked with, and are friends with many gays that are in fact embarrassed by such parades and the demands to heard, given "special rights" and wanting to use the court system to create laws rather than enforce them. They feel that in the long run it is counterproductive. Amazingly by not choosing to shout their gayness from the rooftops saying "We\'re here and we\'re queer", they find that they get treated rather fairly.<br><br><br><br>As for your attack on MacBoy, again your defensiveness gets in the way of seeing his point.  So you got good irrelevant scores at some random tech conference. Other than you, who the hell cares?  No  one but you likely remembered it a day later.   How many of those scores resulted in more sales of MS software? Shipping Vista sooner? Taking share away from your competitors?  Yea, again, I know numbers that translate into profits don\'t matter to you when it doesn\'t support your position, but his point was your actual job at MS seemed to be easily plug and playable, not your extracurricular activities.<br><br>And Lauri, not sure what you would be showing Bush in \'08. He can\'t run again.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9643877">\
	 <div id="dsq-comment-header-9643877" class="dsq-comment-header">\
	 <cite id="dsq-cite-9643877" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9643877" href="http://mickell.wordpress.com/" target="_blank" rel="nofollow">mickell</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9643877" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9643877" class="dsq-comment-message">Cool.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9643943">\
	 <div id="dsq-comment-header-9643943" class="dsq-comment-header">\
	 <cite id="dsq-cite-9643943" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9643943">Barry</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9643943" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9643943" class="dsq-comment-message">Dmad, while I\'m mostly with you (&amp; Lauri) on "gay rights" (and Lauri on "representative republic"), I must say that Scoble\'s proof is more compelling than you suggest with your latest rhetorical flourishes.<br><br>It is NOT irrelevant that Scoble has been recently rated so highly as a "communicator" -- against distinguished peers and competitors. And the gig was not discretely "extracurricular." It\'s pertinent to his point that Scoble can communicate.<br><br>Now, you may argue that Scoble would be little without his Microsoft leverage. Maybe (though he\'d likely reply with more historical evidence, e.g., Ch.9). But how many employees had opportunity to leverage Microsoft? And where is the near equivalent...at the same ethical level (i.e., excluding mini)? Maybe Scoble is not just a compelling communicator (external to Microsoft) but also a persuasive politician (internal).<br><br>And you could press your point on ROI. Coming from the Direct Marketing world, I sympathize. We want everything to be denominatable, trackable. But some things can\'t be. Some values can\'t be so reduced. "Helping to change the face of Microsoft" is a fuzzy feat. (But it might be a real feat, nonetheless!)<br><br>But to suggest that Scoble\'s role (not mere "job") is "plug and playable".... Really? (Technically, Steve Jobs\' job is too. How many more copies of hardware has Steve directly sold...than, say, Sculley?)<br><br>Now, granted, Scoble is no CEO, President, or Founder of Apple or Microsoft. But that\'s not the point. We are entering a new (tech) era, and Scoble has been one of its chief communicators...for a chief company and her customers.<br><br>And consider the "News." Were Rather, Jennings, Brokaw (or Cronkite) heads of their companies? Yet are their roles "plug and play"? Blogging may be different, but not so completely as you seem to suggest. Not for non-News companies...<br><br>Yesterday it was PR, today it is blogger as "bridge" between customer and corporation. What if 1,000,000 read him and 1% soften toward Microsoft while Microsoft actually becomes more "friendly"? Is there no value there?<br><br>Finally, are you quite sure that no one, nowhere, has reconsidered buying Microsoft (stock or product) in partial consideration of Robert\'s words? (If so, I\'ll happily provide a personal case study.)<br><br>As we learned from one of the founders of "Direct Marketing": "The pen is mightier than the sword." Words change the world. While I do not support Robert in his use of them for certain advocacies, I recognize his distinctive skills for what they are. Their value should not be understated.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9643940">\
	 <div id="dsq-comment-header-9643940" class="dsq-comment-header">\
	 <cite id="dsq-cite-9643940" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9643940">irwin</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9643940" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9643940" class="dsq-comment-message">Scoble - I\'ve worked at MS for more than 5 years - how is it that I\'ve never heard of you nor what you do?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9643941">\
	 <div id="dsq-comment-header-9643941" class="dsq-comment-header">\
	 <cite id="dsq-cite-9643941" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9643941" href="http://scobleizer.wordpress.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9643941" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9643941" class="dsq-comment-message">Irwin, I don\'t know. Where you been all this time?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9643942">\
	 <div id="dsq-comment-header-9643942" class="dsq-comment-header">\
	 <cite id="dsq-cite-9643942" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9643942" href="http://lauriblog.wordpress.com/" target="_blank" rel="nofollow">Lauri</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9643942" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9643942" class="dsq-comment-message">@68<br><br>Dmad, its a joke...of course Bush cant run again. But the Dems better start trotting out something new other than "I hate George W Bush" if they hope to ever get elected again.<br><br>Granted, for most conservatives GW is far too liberal - so, the Dems better pull one big rabbit out of their hats come 08.... but I dont think its likely.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9643886">\
	 <div id="dsq-comment-header-9643886" class="dsq-comment-header">\
	 <cite id="dsq-cite-9643886" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9643886" href="http://blogs.msdn.com/tobint" target="_blank" rel="nofollow">Tobin</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9643886" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9643886" class="dsq-comment-message">So, Robert, you take pride in helping throw us back into the days when only the rich could vote and when, oddly enough, minorities had NO say-so in the rights of the land?  "How so", you might ask?<br><br>Back in our early colonies, land ownership is what granted voting rights to an individual. This generally kept out those "pesky minorities, women and poor people" -- leaving the decision making to high-minded rich people. Never mind the fact that the majority of people were NOT rich and minorities were too busy getting beaten by their plantation "owners" to go house shopping (please DO sense my outrage and sarcasm all at once).<br><br>You support having multi-billion dollar mega-corporations push their weight around to pass laws. (and even put aside the fact that you pushed for the two richest white guys in the company to put their support behind this bill). By doing so, a single few rich guys who run the company can bowl over the opinions of the masses -- effectively putting us back before the 15th amendment, the 19th amendment, and the voting rights act.<br><br>You stated that you wanted churches to stay out of politics yet our whole political system was created out of the need for religious liberty. I also didn\'t see you complaining when Congress made a law that created the Department of Education and then prohibited the free exercise of religion there (which had been done since we landed on Plymouth Rock).<br><br>Be truthful, you aren\'t fighting for minorities, you are pushing an agenda that would not have passed if you really believed in the democratic process.<br><br>Furthermore, this country was not founded on minority rule; it was founded on majority rule. All individuals are conferred the same rights, but when those votes are tallied, the most votes win.  If that means that the majority of people say that you can\'t wear purple shirts on Friday, then by golly, that\'s what needs to happen.  This is why these decisions were supposed to be left to the states and local governments.  Communities could make up rules that made sense to them, and some large group of nay-sayers from across the country couldn\'t force them to change just because they felt they should.<br><br>The point being Robert, you subverted the democratic system, pushed for two rich white guys to put their weight behind a law, then got out of the state so that you could revel in screwing the system once again.  Let me guess, you voted for Kerry?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9643878">\
	 <div id="dsq-comment-header-9643878" class="dsq-comment-header">\
	 <cite id="dsq-cite-9643878" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9643878" href="http://blogs.msdn.com/tobint" target="_blank" rel="nofollow">Tobin</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9643878" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9643878" class="dsq-comment-message">&gt; Not to mention quite a few beaches in Florida,<br>&gt; Hawaii, and California. Even the ones who wear<br>&gt; clothes only cover a few square inches of their<br>&gt; bodies.<br>&gt; Comment by Robert Scoble — July 4, 2006 @ 12:11 pm<br><br>And did you stop to ask everyone if they were all heterosexual/homosexual?  How could you tell? Oh, they were holding hands with a woman? I have gay friends that do that all the time. The difference is, Robert, I have some gay friends. I don\'t approve of the lifestyle and they know it.  They don\'t agree with my beliefs, and I know it. The difference is that we have common sense and respect for one another\'s differences.  They have enough sense to say that it\'s wrong for people to parade down a street naked just as much as anyone else.<br><br>Another tactic of the drones that schools like Berkley pump out is that they immediately tell people they are Nazis or compare them to Nazis simply because they don\'t let the minority viewpoints overrun majority views.  How about holding up a real argument instead of resorting to ad hominem?  Once you actually come back with facts and agree to stay on point, then we can discuss this intelligently. Until then, you are just another drone following the brainwashing you were given in the socialist school system we can state-run universities.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9643876">\
	 <div id="dsq-comment-header-9643876" class="dsq-comment-header">\
	 <cite id="dsq-cite-9643876" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9643876" href="http://range.wordpress.com/" target="_blank" rel="nofollow">range</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9643876" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9643876" class="dsq-comment-message">Interesting stuff, I wondered how this happened.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9643945">\
	 <div id="dsq-comment-header-9643945" class="dsq-comment-header">\
	 <cite id="dsq-cite-9643945" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9643945">Drew</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9643945" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9643945" class="dsq-comment-message">I hope I\'m not too late to add to this. I\'m an ex-\'softie who spent the last few years in the Windows division. At the risk of being lost amongst the trolls but with the hope of actually helping someone out there . . . here are my reactions.<br><br>My perception is that most \'softies might not know you because most folks live in silos. The annual tech fair is an eye opener for a lot of people who don\'t have any idea what the rest of the company is doing. Is it any surprise that "Scoble" isn\'t a buzzword internally? If I would change one thing about Microsoft culture it would be this. Or maybe the empire-building that I believe eventually leads to the silo lifestyle.<br><br>IE 7 and Vista both have (shoddy) RSS client support. Not to mention the Live initiative. It\'s not that everyone at Microsoft is clueless, but rather that unless something has a solid business model it just ain\'t gonna happen. People outside of Microsoft didn\'t see the HUGE internal furvor from the folks with their boots on the ground (Individual Contributors) about OSS as everyone tried to get senior management to realize that Linux, Firefox, et al. were not only viable, but possibly a threat to some of the company\'s bottom line. I realize this runs counter to the silo statement above, but there are certainly some if not many engineers in the company who are real geeks, seeking out all the new cool things. Heck, RaymondC\'s sig used to be "just another Linux hacker". For better ___ support, the mantra is always "wait for the next service pack". Probably applies in this case.<br><br>Windows release cycles seem to have changed. The old model is 1) release the RTM version and 2) everyone finally runs it once you release SP1. The new model is to add 3) there\'s some "refresh" release like XP SP2 or WS03 R2 that is sort of a mini-RTM for a new OS. That seems to be the mechanism to add all those features that customers really wanted but just didn\'t ship at RTM. I wasn\'t an exec. I don\'t know what happens most days in the war meetings. I\'m just a nobody. That\'s only what I observed from the trenches. I suppose it\'s better than the wait for NT4 SP4 was.<br><br>Remaking Microsoft into two camps, the younger of which is intended to kill the elder, sounds too much like an Apple nightmare of yore. I don\'t think you\'re Mini, but maybe you\'re related to Steve Jobs. As an engineer, that sounds dreadful. I leave it to anyone interested to Google up that history lesson. *shudder*<br><br>I completely agree about the need for a naming dictator. Forget about the personas. I\'ve never met Abby or Ichiro. I\'m more worried about my mom. I *love* my mom. The whole Messenger confusion is only one example of the needless support headaches I have with her. Maybe in some imaginary world those things bother Abby or Ichiro. I have no idea. I only know that mom doesn\'t like it.<br><br>I also agree that people hate Microsoft because it is now Goliath. I still remember when it was David instead. David could fight kinda dirty \'cause he was the underdog. Goliath needs to just stand there and take the hurt. Microsoft as David has gone the way of the Blibbet. Were I a bit more superstitious I\'d cry out "resurrect the Blibbet", but I\'m not. Goliath isn\'t cool. I don\'t know how to change that.<br><br>As far as roles go in Windows . . . well . . . that\'s a deep problem. Look to the NT object manager and ask how it should be changed to "understand" roles. Start there at the core and build out. I agree that the development community as a whole (and Microsoft especially) needs to start thinking in terms of roles. In practical terms, things are a little better in Unix-land. In design terms . . . um . . . I don\'t want to start a flame war, so I\'ll lay off. Suffice it to say that there are some really smart people in the Windows division who are starting to think about roles instead of just entities and their permissions (a big part of the problem is rooted in the security model). Expect a big change in the way stuff works. In 10-15 years. :-( I hope that I didn\'t break my NDA somehow with these statements.<br><br>On the inability to see small things: Absolutely any new initiative needs a business model. How much income can that new thing make? How much will the company lose if it doesn\'t implement that? The little things usually don\'t have any definable $$$ impact. I agree that there ought to be more flexibility to explore new income sources (meaning cool new tech), but unless you\'re in research that\'s probably not going to happen at Microsoft. Yes, there needs to be change. Taking small risks can pay off in the large. Taking large risks that the company keeps dumping money into might do that, too, but for my money I\'d rahter have thousands of small longshot bets than only a handful of allegedly-not-longshots that seem to eventually pan out to be money pits.<br><br>Will Mac and Windows become one? Was that supposed to be a real question or a troll? Do that DaveC interview you wanted to do. Then go talk with some devs on Mach. I just don\'t see that happening. Ever. Apple currently (and quite happily) runs on a Unix(-like?) kernel. Windows is NT, which at heart is very VMS-like. Unix and VMS are oil and water (or vice versa). Dual booting might become more common. Once Bootcamp RTMs I\'m going to go buy a Mac. There have been too many problems reported from early adopters for me to want to trust Bootcamp yet, though.<br><br>On the Google love (or not?): Google treats its engineers amazingly well. I have no idea about the non-engineers. It\'s biggest draw as an employer is exactly that. Work on cool stuff with very little management or process overhead, ship frequently, live/breathe tech but eat tasty healthy free food, be surrounded by some of the smartest people in the industry, and spend one day a week working on something else - whatever else, but be productive. Tell any engineer "I\'m going to take away all of the little problems in your day to day life and let you just focus on solving problems". Hired. Period. That\'s Google. What they actually produce doesn\'t really excite me and I\'ll probably never work there, but I can see the reason they drain brains away from the likes of Microsoft.<br><br>In regard to Richard\'s question about Longhorn and Vista: Gotta ship the bits. Sometimes that means cutting most or all of the 3 main pillars you were building the product around. Oh, well. Anything good will eventually wander back into the source tree and ship in a later version. Maybe one day we\'ll finally see all of the Cairo features on a desktop. Who knows?<br><br>And about working at Microsoft: I went to Microsoft straight out of college. I spent ~7 years there working at a company that I would consider to be one of the best "finishing schools" for software engineers. On the one hand, there are smart people there working on almost anything you\'re interested in doing in software. On the other, it\'s like New York, New York - it can be rough; if you can make it there you can make it anywhere. I recommend it highly. I interviewed with several companies who told me that they prefer candidates with that kind of background.<br><br>Thanks for hearing/reading me out. I apologize for the length of the comment and also for my lack of any spelling or grammar checking. Hope it\'s not too offensive to the dictionary-huggers out there.<br><br>- Drew</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9643944">\
	 <div id="dsq-comment-header-9643944" class="dsq-comment-header">\
	 <cite id="dsq-cite-9643944" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9643944" href="http://scobleizer.wordpress.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9643944" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9643944" class="dsq-comment-message">Drew, thanks, I appreciated every one of your comments, even the ones that disagreed with what I said. I learned a lot, and that\'s the most I can ask for. Would love to meet you someday.<br><br>As for new company to compete with the old? I guess that\'s what we\'re getting with Google anyway. Too bad that Gates didn\'t just spin off an Internet division to compete with the old fogeys anyway back in the late 1990s. If he had maybe Google wouldn\'t have existed. But, that\'s the innovator\'s dilemma, isn\'t it?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9643946">\
	 <div id="dsq-comment-header-9643946" class="dsq-comment-header">\
	 <cite id="dsq-cite-9643946" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9643946" href="http://www.interviewhelper.org/" target="_blank" rel="nofollow">Shaveta Aggarwal</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9643946" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9643946" class="dsq-comment-message">Hi Guys,<br><br>Please follow this link to get un-limited interview questions on <a href="http://asp.net" rel="nofollow">asp.net</a>, testing, php, java, oracle etc.This site also includes Freelance projects, Online air ticket reservation functionality, gaming, latest sports news, discussion forum, directory submission, latest jobs.<br><br><a href="http://www.interviewhelper.org" rel="nofollow">http://www.interviewhelper.org</a><br><br>Follow the link and have all these functionalities under one url.<br><br>Thanks and Regards,<br>Interview Helper Team</div>\
	 </div>\
	 </li>\
	 </ul>\
';

(function() {
	
	





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

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


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

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

	
	

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

	Dsq.Popup.showCookieMsgs();

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

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

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

	



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

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

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

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

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


	


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

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

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

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

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

})();




