




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": {"0687c4101109dbb71f2ccef007489c21": {"username": "hailsky", "tumblr": "", "display_name": "hailsky", "url": "http://disqus.com/guest/0687c4101109dbb71f2ccef007489c21/", "registered": false, "linkedin": "", "blog": "http://hailsky.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": ""}, "df2bebffe2fece4cee7ed284aaff3cf0": {"username": "blogger@wordpress", "tumblr": "", "display_name": "blogger@wordpress", "url": "http://disqus.com/guest/df2bebffe2fece4cee7ed284aaff3cf0/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "0e5e1abc3114e2feb214264165e5b725": {"username": "Raj", "tumblr": "", "display_name": "Raj", "url": "http://disqus.com/guest/0e5e1abc3114e2feb214264165e5b725/", "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": ""}, "772bb0ad28f9cdd045aca3ac25500a12": {"username": "Chris Garrett", "tumblr": "", "display_name": "Chris Garrett", "url": "http://disqus.com/guest/772bb0ad28f9cdd045aca3ac25500a12/", "registered": false, "linkedin": "", "blog": "http://www.chrisg.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/33/4874/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "3ae47ea7f6fd6dae57e85ddc68d07f81": {"username": "Matt (Xbox MVP)", "tumblr": "", "display_name": "Matt (Xbox MVP)", "url": "http://disqus.com/guest/3ae47ea7f6fd6dae57e85ddc68d07f81/", "registered": false, "linkedin": "", "blog": "http://www.msmvps.com/glach", "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": ""}, "87a4f4c3c7cbcfe801698caf1f41943c": {"username": "watex", "tumblr": "", "display_name": "watex", "url": "http://disqus.com/guest/87a4f4c3c7cbcfe801698caf1f41943c/", "registered": false, "linkedin": "", "blog": "http://watex.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": ""}, "94b97883b878f9051ee8071bdcf2a9e7": {"username": "Smeagol", "tumblr": "", "display_name": "Smeagol", "url": "http://disqus.com/guest/94b97883b878f9051ee8071bdcf2a9e7/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "3553f5e0db0fd1ec4e40a932a2d8f5b3": {"username": "Robert Scoble", "tumblr": "", "display_name": "Robert Scoble", "url": "http://disqus.com/guest/3553f5e0db0fd1ec4e40a932a2d8f5b3/", "registered": false, "linkedin": "", "blog": "http://scobleizer.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/4069/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "76bec42915def4e9ec9ea0b3a7630833": {"username": "Steven Hodson", "tumblr": "", "display_name": "Steven Hodson", "url": "http://disqus.com/guest/76bec42915def4e9ec9ea0b3a7630833/", "registered": false, "linkedin": "", "blog": "http://www.winextra.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/24/46/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "ccda189c77625ecbecf9c4fd0481bdb9": {"username": "Kamal Jain", "tumblr": "", "display_name": "Kamal Jain", "url": "http://disqus.com/guest/ccda189c77625ecbecf9c4fd0481bdb9/", "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": ""}, "f1c31d594177c3ab8f92e9d4d1d8d58e": {"username": "Chris", "tumblr": "", "display_name": "Chris", "url": "http://disqus.com/guest/f1c31d594177c3ab8f92e9d4d1d8d58e/", "registered": false, "linkedin": "", "blog": "http://devarr.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": ""}, "02667f5cfc17e97b3cd7b86ce2ea03a7": {"username": "Marcelo Negrini", "tumblr": "", "display_name": "Marcelo Negrini", "url": "http://disqus.com/guest/02667f5cfc17e97b3cd7b86ce2ea03a7/", "registered": false, "linkedin": "", "blog": "http://www.zazambia.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "7f6291e8344b594235e57b843fc05d9b": {"username": "Christopher Coulter", "tumblr": "", "display_name": "Christopher Coulter", "url": "http://disqus.com/guest/7f6291e8344b594235e57b843fc05d9b/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "9b646ff3eeda1f01cc2b1cb86d1634f9": {"username": "paul", "tumblr": "", "display_name": "paul", "url": "http://disqus.com/guest/9b646ff3eeda1f01cc2b1cb86d1634f9/", "registered": false, "linkedin": "", "blog": "http://dotnetjunkies.com/WebLog/paul/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "422187df3c45655b0dc2ae5de0710b27": {"username": "John C. Welch", "tumblr": "", "display_name": "John C. Welch", "url": "http://disqus.com/guest/422187df3c45655b0dc2ae5de0710b27/", "registered": false, "linkedin": "", "blog": "http://www.bynkii.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "4014faa76f94764aeb84e70bf39bf22f": {"username": "Tom Raftery", "tumblr": "", "display_name": "Tom Raftery", "url": "http://disqus.com/guest/4014faa76f94764aeb84e70bf39bf22f/", "registered": false, "linkedin": "", "blog": "http://tomrafteryit.net/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/8161/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "3aeb85796d88e54daedf94e769fda691": {"username": "Goebbels", "tumblr": "", "display_name": "Goebbels", "url": "http://disqus.com/guest/3aeb85796d88e54daedf94e769fda691/", "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": ""}, "51f1c79fe3d8e3098ac60b23b8601a33": {"username": "Kirupa", "tumblr": "", "display_name": "Kirupa", "url": "http://disqus.com/guest/51f1c79fe3d8e3098ac60b23b8601a33/", "registered": false, "linkedin": "", "blog": "http://blog.kirupa.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": ""}, "d05b5db11af066278cf3401a889b6763": {"username": "Darren Stuart", "tumblr": "", "display_name": "Darren Stuart", "url": "http://disqus.com/guest/d05b5db11af066278cf3401a889b6763/", "registered": false, "linkedin": "", "blog": "http://darrenstuart.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": ""}, "82c29467a81bd68d6d82b83eddd9e25a": {"username": "fats", "tumblr": "", "display_name": "fats", "url": "http://disqus.com/guest/82c29467a81bd68d6d82b83eddd9e25a/", "registered": false, "linkedin": "", "blog": "http://fatihiraz.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": ""}, "19d50287113fc732c62b62291bcfbdf8": {"username": "Who Knew", "tumblr": "", "display_name": "Who Knew", "url": "http://disqus.com/guest/19d50287113fc732c62b62291bcfbdf8/", "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": ""}, "ffae666ed0f2f8ab84f6569b2295c460": {"username": "Keith Patrick", "tumblr": "", "display_name": "Keith Patrick", "url": "http://disqus.com/guest/ffae666ed0f2f8ab84f6569b2295c460/", "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": ""}, "6a8bf275832e7ea514661dced7dfe16a": {"username": "Chris Williams", "tumblr": "", "display_name": "Chris Williams", "url": "http://disqus.com/guest/6a8bf275832e7ea514661dced7dfe16a/", "registered": false, "linkedin": "", "blog": "http://clwill.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": ""}, "51d623f33f8b83095db84ff35e15dbe8": {"username": "Jeff Atwood", "tumblr": "", "display_name": "Jeff Atwood", "url": "http://disqus.com/guest/51d623f33f8b83095db84ff35e15dbe8/", "registered": false, "linkedin": "", "blog": "http://www.codinghorror.com/blog/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/28/3062/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "ed90091d3103ce2ca391218967638ce2": {"username": "Marc Dencker", "tumblr": "", "display_name": "Marc Dencker", "url": "http://disqus.com/guest/ed90091d3103ce2ca391218967638ce2/", "registered": false, "linkedin": "", "blog": "http://marcd.spaces.live.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": ""}, "d1b44a8368e7418bc4347a587f7f83b9": {"username": "neverness", "tumblr": "", "display_name": "neverness", "url": "http://disqus.com/guest/d1b44a8368e7418bc4347a587f7f83b9/", "registered": false, "linkedin": "", "blog": "http://neverness.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": ""}, "3209ee41599cb860aaf55c40cda485ee": {"username": "gregger", "tumblr": "", "display_name": "gregger", "url": "http://disqus.com/guest/3209ee41599cb860aaf55c40cda485ee/", "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": ""}, "a3e1dfcb5950eab3cab0f571cf13ee71": {"username": "Sriram Krishnan [MSFT]", "tumblr": "", "display_name": "Sriram Krishnan [MSFT]", "url": "http://disqus.com/guest/a3e1dfcb5950eab3cab0f571cf13ee71/", "registered": false, "linkedin": "", "blog": "http://www.sriramkrishnan.com/blog", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "e4cd45e28a14bc4725bf90be8d1b2f6d": {"username": "John", "tumblr": "", "display_name": "John", "url": "http://disqus.com/guest/e4cd45e28a14bc4725bf90be8d1b2f6d/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "26493d7270fb206c1e08599674e51e5a": {"username": "LayZ", "tumblr": "", "display_name": "LayZ", "url": "http://disqus.com/guest/26493d7270fb206c1e08599674e51e5a/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "68843371cd21bae4b0b0c6d9a60c991c": {"username": "Viraj", "tumblr": "", "display_name": "Viraj", "url": "http://disqus.com/guest/68843371cd21bae4b0b0c6d9a60c991c/", "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": ""}, "4fe19b3352f366bef89ea9cdf6c0e0c9": {"username": "Ross", "tumblr": "", "display_name": "Ross", "url": "http://disqus.com/guest/4fe19b3352f366bef89ea9cdf6c0e0c9/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/22/6452/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "ff72424cfaf80900572429156c789a3d": {"username": "Al Pascual", "tumblr": "", "display_name": "Al Pascual", "url": "http://disqus.com/guest/ff72424cfaf80900572429156c789a3d/", "registered": false, "linkedin": "", "blog": "http://alpascual.com/blog/al", "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": ""}, "2e0120a117b50144ed0ebc80a5c7a589": {"username": "jordandash", "tumblr": "", "display_name": "jordandash", "url": "http://disqus.com/guest/2e0120a117b50144ed0ebc80a5c7a589/", "registered": false, "linkedin": "", "blog": "http://clubpenguinstash.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": ""}, "7ab078da1ca38222c9d4f87948cbc8de": {"username": "Colby", "tumblr": "", "display_name": "Colby", "url": "http://disqus.com/guest/7ab078da1ca38222c9d4f87948cbc8de/", "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": ""}, "macbeach": {"username": "macbeach", "tumblr": "", "display_name": "macbeach", "url": "http://disqus.com/macbeach/", "registered": true, "linkedin": "", "blog": "http://blog.macb.net", "remote_domain": null, "points": 4, "facebook": "", "avatar": "http://media.disqus.com/uploads/users/130/4404/avatar92.jpg", "delicious": "", "is_remote": false, "verified": true, "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_03:03: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": {"9671872": {"up_voted": false, "ip": "", "has_replies": false, "message": "Blogger: interesting that your IP address shows you working at Microsoft. Why don't you just be honest about what and who you are?<br><br>Jeff: Microsoft +is+ an advertising company. Billions of dollars of its revenue come from advertising (and, Kevin Johnson, Microsoft's President, told my group back when I still worked at Microsoft, that most of its growth would come from advertising. So, he clearly is very focused on the advertising world).", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-26_16:48:26", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671873": {"up_voted": false, "ip": "", "has_replies": false, "message": "Hailsky: Vista has better networking, better audio, better UI, better search, better game APIs, better .NET runtimes, better Tablet PC and handwriting, better media center stuff, better speech APIs and apps, and a lot more that's better about it when compared to XP. How can you still be excited by XP?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-26_16:49:42", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671874": {"up_voted": false, "ip": "", "has_replies": false, "message": "Jeff: &gt;&gt;How do you grow when you have 95% market share? That\u2019s true of PCs and Internet Explorer.<br><br>PC market share has been going down quite a bit lately. I believe Apple's latest share is about 10%. Internet Explorer's share, on most blogs, is less than 50% now.<br><br>So, you've EXACTLY demonstrated my point: people are moving away from Microsoft. Certainly not a good equation for growth.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-26_16:51:17", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671875": {"up_voted": false, "ip": "", "has_replies": false, "message": "THE coolest thing:<br>go to <a href=\"http://wls.live.com\" rel=\"nofollow\">http://wls.live.com</a><br>it works on wm5 and wm6 and JME<br><br>start the search app, do choose a new location, choose from contacts, go to a random contact in your contact list,<br><br>enter starbucks in the field for what's your looking for and there you go.<br>it also provides traffic info, direction info and it works with your GPS in your phone (if you have one)<br><br>truely amazing......", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-26_17:06:24", "killed": false, "user_key": "ed90091d3103ce2ca391218967638ce2", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671876": {"up_voted": false, "ip": "", "has_replies": false, "message": "You know the sad part about this is that MS has always had contingents of people who want to buy into standards, who want to make things that work across platforms, who recognized the world was bigger.  When I ran the Visual C++ business, we had one of the best Mac compilers in the business, and backends for all kinds of platforms.  It got squished by the \"if it ain't proprietary, it's wrong\" crowd.  Bummer.<br><br>MS still makes some of the best dev tools around, for their platform, with one of the smartest teams in the compiler game.  Too bad they only work on the one architecture.<br><br>Oh and Robert, *everyone* at MS uses the Visual Studio compiler (to my knowledge), some use the VS editors, but you are right, virtually none use it as a \"suite\".  Their build teams all use the command line tools to build their products every night.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-26_23:43:01", "killed": false, "user_key": "6a8bf275832e7ea514661dced7dfe16a", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671877": {"up_voted": false, "ip": "", "has_replies": false, "message": "<i>This is the only reason i wanted to remain anonymous. Because i strongly fely onlce my MS identity is established nobody even tries to see the actual viewpoint. They just assume you are defending microsoft because you work there.</i><br><br>Only if you come across as feeling the need to counter every criticism of Microsoft. When that happens, people think \"Hey, Microsoft doesn't listen unless you say what they want to hear\".", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-28_08:06:09", "killed": false, "user_key": "422187df3c45655b0dc2ae5de0710b27", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671878": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert, what do most MS developers use to develope software? I figured since they use MSBuild and that they were once touting XP being compiled with the MS C++ compiler's anti-buffer-overrun flag, and that it would be free (not to mention one of the few .Net IDEs, although only a portion of MS apps are written in .Net), VS.Net would be the MS compiler of choice. I know 2005 was pretty unstable preSP1, even though the functional portions of the IDE (and the 2.0 release of .Net in particular) are very good, so I'm curious what would drive MS en masse away from the de facto tool for writing Windows apps.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-26_23:58:08", "killed": false, "user_key": "ffae666ed0f2f8ab84f6569b2295c460", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671879": {"up_voted": false, "ip": "", "has_replies": false, "message": "#43: you should have seen all the bloggers posting how many more feed readers all of a sudden showed up when Google Reader reported how many subscribers it had. TechCrunch alone went up about 100,000 readers, so SOMEONE is using Google Reader.<br><br>#44: of course you're right. Instead we're all listening to you and your wonderful insights about the tech industry. Where's your blog again?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-27_00:33:43", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671880": {"up_voted": false, "ip": "", "has_replies": false, "message": "Kamal: good point. You should be aware that I can see the IP address you post from. Just like every <a href=\"http://Wordpress.com\" rel=\"nofollow\">Wordpress.com</a> blogger can. That can't be considered private information and if someone has an expectation of such, then they simply don't understand how the Internet works.<br><br>As to email addresses. I can see those, but only for current posts. I don't collect them.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-27_00:29:54", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671881": {"up_voted": false, "ip": "", "has_replies": false, "message": "Keith: Visual Studio shares the same compiler that they use on Windows, but when I think of Visual Studio I'm thinking of the IDE, not just the compiler.<br><br>Most devs I met at Microsoft use command-line tools.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-27_00:30:53", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671882": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert@25, you released blogger@wordpress personal information (his/her IP address) which is only available to you and he/she did not explictly want to make it public.<br><br>You also collect email address from every commentator on your blog. Such as my email address. This is purely for your information and in a normal case you should not release it for public consumption.<br><br>Of course, I understand that your blog is provided as is with no guarantee of any kind including any privacy expectation. But why break somebody's trust for no reason? Eventually it may decrease readers' trust in you too:-)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-27_00:11:40", "killed": false, "user_key": "ccda189c77625ecbecf9c4fd0481bdb9", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671883": {"up_voted": false, "ip": "", "has_replies": false, "message": "You know what's making me say \"Wow\" about Microsoft today?<br><br>Their utterly asinine line of bullshit about virtualization, and their ridiculous \"Oh, Virtualization is too new so we limit it to protect you\"<br><br>Um...a sphincter says what? Virtualization is over ten years old on non-mainframes, FAR older on mainframes.<br><br>So it's making me say \"Wow\" all right.<br><br>Followed by \"What a bunch of dumbasses\"", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-26_23:02:15", "killed": false, "user_key": "422187df3c45655b0dc2ae5de0710b27", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671884": {"up_voted": false, "ip": "", "has_replies": false, "message": "Hey Robert, Re your comments to my comment.<br><br>Darren: If Visual Studio is such a great tool how come almost none of the Office or Windows developers who work at Microsoft use it? If it\u2019s so much more productive than other approaches, why doesn\u2019t Microsoft ITSELF bet on that tool?<br><br>I was actually talking about web development and <a href=\"http://asp.net\" rel=\"nofollow\">asp.net</a> 2.0 not windows application development.<br><br>I have no knowledge to what MS does internally but from an end user point of view they have put a lot of thought and detail into making <a href=\"http://asp.net\" rel=\"nofollow\">asp.net</a> 2.0 a great platform for getting stuff done.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-27_14:32:26", "killed": false, "user_key": "d05b5db11af066278cf3401a889b6763", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671885": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert, in that case I would like to know information you could derive from LayZ's IP address.<br><br>I had few comments exchanged with LayZ on your blog before I gave up for two reasons. 1. LayZ could have wrote anything whereas I had to be more careful to protect my real life credibility. 2. My viewpoint is dilluted because one could say I am from Microsoft. But the same could not have been said about LayZ's comment.<br><br>(I apologize LayZ. Your id is just for explaining the point. But the disadvantages 1. and 2., I mentioned above were exactly the reasons I gave up arguing with anonymous people.)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-27_13:27:03", "killed": false, "user_key": "ccda189c77625ecbecf9c4fd0481bdb9", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671886": {"up_voted": false, "ip": "", "has_replies": false, "message": "<i>Sure, there is no expectation of private information. But for whatever reason blogger@wordpress did not want to explicitly reveal his/her relationship with Microsoft. </i><br><br>However, it does explain their angle for their opinions.<br><br><i>But, that\u2019s not the point again. You arguing that mainframes matter? Just cause IBM is selling a shitload of them?</i><br><br>No, I'll argue they matter because they still run a shitload of the world's banking transactions, are designed not to crash, are able to handle, per machine, loads that would make a Windows box run away crapping its drawers, and have been using technology that the PC world is just now mainstreaming.<br><br>If you think Mainframes don't matter, you really ARE clueless.<br><br>Microsoft isn't going away anytime soon, but they are essentially repeating the mistakes IBM made from about 1980 to Gerstner.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-27_12:19:33", "killed": false, "user_key": "422187df3c45655b0dc2ae5de0710b27", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671887": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert, I know you're not in the loop anymore being on the outside, but the next version of Office appears to have some cool stuff in it.  I won't go so far as to say \"wow\" because frankly the Vista ads have killed that word for me.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-26_22:00:50", "killed": false, "user_key": "e4cd45e28a14bc4725bf90be8d1b2f6d", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671888": {"up_voted": false, "ip": "", "has_replies": false, "message": "Marc: that sounds cool. I'll have to try it out with my phone.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-26_19:44:08", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671889": {"up_voted": false, "ip": "", "has_replies": false, "message": "Well Robert , you might have read this already. But this is still a good forum to post this link - <a href=\"http://chris.pirillo.com/2007/02/27/windows-vista-im-breaking-up-with-you/\" rel=\"nofollow\">http://chris.pirillo.com/2007/02/27/windows-vis...</a><br><br>:-(", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-27_12:17:30", "killed": false, "user_key": "df2bebffe2fece4cee7ed284aaff3cf0", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671890": {"up_voted": false, "ip": "", "has_replies": false, "message": "Jeff: I've met with more than 125 companies all around the world and these trends have nothing to do with Silicon Valley startup bubbles.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-26_19:31:39", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671891": {"up_voted": false, "ip": "", "has_replies": false, "message": "Kirupa: I've also met with CTOs of some very big companies and big compute organizations in the past few years. I don't see any new love for Microsoft there, either. CERN, for instance, has one of the world's largest computing grids being built and it's non-Microsoft.<br><br>It's interesting that the tactic used here is \"attack the messenger\" and not \"put up some decent arguments.\"<br><br>Darren: If Visual Studio is such a great tool how come almost none of the Office or Windows developers who work at Microsoft use it? If it's so much more productive than other approaches, why doesn't Microsoft ITSELF bet on that tool?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-26_19:36:15", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671892": {"up_voted": false, "ip": "", "has_replies": false, "message": "Jeff: regarding IE marketshare. It's down to 70% based on that stat. On other stats I've seen it's lower than 50%. You had the right number for 2003. IE used to own 95% of the marketshare. So, in three years Firefox has gotten about 30%. Translation: excitement! Wow!<br><br>Growth.<br><br>You nailed it. You just had two-year-old numbers. Notice which way the wind is blowing. That's what I'm looking at.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-26_19:39:32", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671893": {"up_voted": false, "ip": "", "has_replies": false, "message": "Chris: I use FinalCut Pro because that's what the videobloggers I know, who I wanted to hire as editors (Ryanne and Jay) were familiar with and recommended. I used to edit Channel 9 in Windows Movie Maker. The quality I'm getting out of FinalCut is a lot better (due to better codecs more than anything) and FinalCut is a lot more flexible. But, you're right. I could use Windows too. It's just that the influencers in this world are heavily Mac, so I went with what they were using.<br><br>Fun thing about a Mac, though. It can also run Vista. :-)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-26_19:42:32", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671894": {"up_voted": false, "ip": "", "has_replies": false, "message": "I forgot to add:<br>This blog entery is just one more exercise in your narcisism.  Who cares what you hyped when?  Your opinion is no better than anyone elses.  This \"a-list\" crap is just an example of elitism taken to the extreme.  Guess what - the \"a-list\" bloggers are only considered \"a-list\" by other \"a-list\" bloggers.  Nobody else cares, nobody else regards your opinions as Gospel.  Only the self-proclaimed \"a-listers\" think they know everything about everything.  In truth, you \"a-listers\" know close to nothing about everything, but you speak within an echo-chamber with which you've deluded yourselves into thinking that you're some kind of authorities or philosopher-kings regarding tech.  You're not.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-26_20:04:05", "killed": false, "user_key": "7ab078da1ca38222c9d4f87948cbc8de", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671895": {"up_voted": false, "ip": "", "has_replies": false, "message": "WOW. You are just like me! Check out my site, you'll like it.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-26_20:35:04", "killed": false, "user_key": "87a4f4c3c7cbcfe801698caf1f41943c", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671896": {"up_voted": false, "ip": "", "has_replies": false, "message": "Browser share?  What is this, 1998?  Who gives a damn?  Microsoft should drop IE altogether and bundle Firefox (instantly making it the number 1 attack target), because browser share is irrelevant.<br><br>Robert, your definition of \"wow\" is GoogleReader.  Nobody I personally know gives a rip about it.  It's just one more web service.  Useful, but not WOW by any stretch of the imagination, except for people that worship the WEB.<br><br>You know what really WOWs me?  PodTech.  /sarcasm", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-26_19:57:59", "killed": false, "user_key": "7ab078da1ca38222c9d4f87948cbc8de", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671897": {"up_voted": false, "ip": "", "has_replies": false, "message": "@44<br><br>Gee, Colby you're reading his blog, you're commenting (twice) on his blog... must be something here...", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-26_23:29:49", "killed": false, "user_key": "6a8bf275832e7ea514661dced7dfe16a", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671898": {"up_voted": false, "ip": "", "has_replies": false, "message": "Good Grief, Scoble. You really don't know how to make an argument for your position. Just because you supposedly talk to a lot of people--people supposedly representing \"major companies\" and \"F100\" companies does not prove your argument. Major corporations have their hands in all types of technologies. Just because some random person from some F100 company shows up at a <a href=\"http://salesforce.com\" rel=\"nofollow\">salesforce.com</a> conference doesn't mean that company is not being \"wowed\" by Microsoft. Jeff (from Office) makes just as compelling an argument that major corporations are being wowed by Microsoft because of the things they are doing. Using the Bandwagon fallacy does not prove your argument.<br><br>Also, whenever I see someone setting themselves up as some sort of authority to prove their argument, I can pretty much discount their position. In logic, this is know as \"appealing to misleading authority\" You attempt to set yourself up as an authority by using anecdotal data. You seem to use this position of authority argument when you are unable to prove your point with any quantifiable data. Unless or until you can prove your point with verifiable data, all we have is your opinion. Thus, those defending Microsoft come from just as credible a position.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-27_12:16:26", "killed": false, "user_key": "26493d7270fb206c1e08599674e51e5a", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671899": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert, here's your chance to hear Ray speak:<br><br>Q&amp;A at Goldman Sachs Technology Investment Symposium<br><br>Ray Ozzie will discuss Microsoft\u2019s approach to software, services, and related topics on February 27 at 8:00 a.m. PT at the Goldman Sachs Technology Investment Symposium in Las Vegas. Ray will participate in a Q&amp;A session with Goldman Sachs analyst Rick Sherlund and take questions from the investor audience. The session will be audiocast live on <a href=\"http://Microsoft.com\" rel=\"nofollow\">Microsoft.com</a>, where a replay and transcript will be available following the event.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-26_19:13:37", "killed": false, "user_key": "68843371cd21bae4b0b0c6d9a60c991c", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671900": {"up_voted": false, "ip": "", "has_replies": false, "message": "<i>Robert@25, you released blogger@wordpress personal information (his/her IP address) which is only available to you and he/she did not explictly want to make it public.</i><br><br>You post to a public website, you takes your chances.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-27_11:53:00", "killed": false, "user_key": "422187df3c45655b0dc2ae5de0710b27", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671901": {"up_voted": false, "ip": "", "has_replies": false, "message": "John: #83. That's true. But then companies are still using mainframes. I know, I just sat next to a VP from IBM (they are seeing lots of big sales in enterprises, particularly in airlines and banking). You know, that company that Microsoft was supposed to kill. :-)<br><br>But, that's not the point again. You arguing that mainframes matter? Just cause IBM is selling a shitload of them?<br><br>The PC was more important for the past 30 years because it grew more.<br><br>The Web is gonna grow more over the next 30 years than the PC will.<br><br>That doesn't mean that PCs are going away. Doesn't mean Office is going away. It just means all that stuff is less important cause it won't bring growth to Microsoft.<br><br>Kevin Johnson might be a moron, but he did notice that Microsoft's butt is getting kicked by Apple, Google, Amazon, eBay.<br><br>Add up the stock prices of those -- go over to Google Finance and compare the five-year charts. It's stunning the difference. <a href=\"http://finance.google.com/finance?q=AAPL\" rel=\"nofollow\">http://finance.google.com/finance?q=AAPL</a>", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-27_05:59:31", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671902": {"up_voted": false, "ip": "", "has_replies": false, "message": "@81...<br><br>I said \"really jump into the web\"...I didn't mean do \"something\" with the web.  It's one thing for a company to do online banking or take insurance quotes online...quite another for them to go all web all the time.  Annuity transaction processing systems, healthcare case management...still very much old school.<br><br>No big company doesn't want to NOT admit that they're not doing web stuff...but how many would say they are entirely web based or that many of their business critical or mission critical apps are web based...not many.  You've got to get past the marketing veneer.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-27_05:52:54", "killed": false, "user_key": "e4cd45e28a14bc4725bf90be8d1b2f6d", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671903": {"up_voted": false, "ip": "", "has_replies": false, "message": "@95<br>\"My viewpoint is dilluted because one could say I am from Microsoft\"<br><br>This is the only reason i wanted to remain anonymous. Because i strongly fely onlce my MS identity is established nobody even tries to see the actual viewpoint. They just assume you are defending microsoft because you work there.<br><br>\" could have wrote anything whereas I had to be more careful to protect my real life credibility\"<br><br>*realization*<br>I have never looked at anonymous comments from this angle until now. I see how it puts you on an unfair advantage on a debate with a named guy. So here i stop doing that. (To give some real background - I work as a tester in the C# compiler team)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-27_15:04:12", "killed": false, "user_key": "df2bebffe2fece4cee7ed284aaff3cf0", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671904": {"up_voted": false, "ip": "", "has_replies": false, "message": "I never had a bridge with Kevin...therefore not one to burn.  :-)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-27_05:53:26", "killed": false, "user_key": "e4cd45e28a14bc4725bf90be8d1b2f6d", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671905": {"up_voted": false, "ip": "", "has_replies": false, "message": "BTW...I don't work for Kevin, I work for Jeff, I'm in Office, Jeff is much less of a moron, I liked him when he was running sales and like him now.  At least he had the balls to ditch Anoop (for example).", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-27_05:55:15", "killed": false, "user_key": "e4cd45e28a14bc4725bf90be8d1b2f6d", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671906": {"up_voted": false, "ip": "", "has_replies": false, "message": "@87...<br><br>Your MSFT org chart is getting a little rusty.  Kevin Johnson isn't the President of the Office division.  Jeff Raikes is.  Kevin is over Windows.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-27_06:07:45", "killed": false, "user_key": "e4cd45e28a14bc4725bf90be8d1b2f6d", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671907": {"up_voted": false, "ip": "", "has_replies": false, "message": "#88: I don't plan on throwing it away. But, then, I'm not going to just be a synchophant either. I have stock in Microsoft (only company I do, actually) and so I have a vested interest in seeing you guys grow.<br><br>I don't know Kevin. Didn't have 1:1 conversations with him, just saw him speak to our group twice. Thought he was focusing on the right things, but, yeah, haven't heard him do anything specific to make Microsoft more interesting, er, grow faster.<br><br>As for Office, I saw quite a bit of the coolest stuff there. It's interesting, but there'll be more to say after the Office 2.0 conference that's coming up about that.<br><br>Microsoft is a 100 year company, even if they, er, you, do everything wrong. There's no way it's going away. Microsoft didn't make IBM go away, even though Microsoft kicked IBM's ass for 20+ years.<br><br>When I throw darts Microsoft's way, it's just over growth. That's all. I don't see any negative financials coming. If they do, they'll totally shock me. Microsoft is going to continue being one of the best businesses the world has ever seen for as far into the future that I can see.<br><br>But that's not what I'm talking about here.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-27_06:16:17", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671908": {"up_voted": false, "ip": "", "has_replies": false, "message": "Saying you don't work for the president is a little weird.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-27_06:05:16", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671909": {"up_voted": false, "ip": "", "has_replies": false, "message": "Won't argue with you on stock price.  But it didn't take a rocket scientist to see that Google and Amazone or others were going to be more innovative or quick to market or have better margins.  So Kevin noticed, big deal, how long did it take him, what did he do about it.  Even before he joined Windows he was in the SLT, he could have effected change...nothing.  Nope, that issue is endemic to MSFT leadership...and I hate it.  I won't apologize for it.  But don't confuse that with your original post.  All coolness doesn't happen with web apps.  And there are corners at the company you castigate that you have not seen, are not in your space, or are struggling to get stuff done the way that they know the industry wants to see it done.  I can burn bridges (as you say) with Kevin, because I never had them.  The few 1:1 conversations I had with him were disappointing at best and showed him as shortsighted and vision-less.  My point on bridge burning was that you spent your time at MSFT as an ambassador, evangelist and bridge builder.  Don't throw that good will away.  Regardless of the market, Microsoft will be a going concern...hopefully going faster in years to come.  :-)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-27_06:06:29", "killed": false, "user_key": "e4cd45e28a14bc4725bf90be8d1b2f6d", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671910": {"up_voted": false, "ip": "", "has_replies": false, "message": "as a developer that uses <a href=\"http://asp.net\" rel=\"nofollow\">asp.net</a> 2.0 every day I have to say I love it. The more you scratch the surface of it the more cool things you find.<br><br>When creating content driven sites I would say you can get a lot more done in visual studio 2005 quicker than any lamp toolset.<br><br>I think Microsoft need to rethink their websites. Their  online office live suite is crap and way to expensive for what it is. With the power of <a href=\"http://ajax.net\" rel=\"nofollow\">ajax.net</a> and .net 3.0 they should be able to offer a much better feature rich online office version that would kick googles ass!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-26_17:22:52", "killed": false, "user_key": "d05b5db11af066278cf3401a889b6763", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671911": {"up_voted": false, "ip": "", "has_replies": false, "message": "Jeff@24 said \"ATLAS, .NET 3.0, WPF (reinventing the GUI on Windows) and so forth. It\u2019ll take a DECADE to absorb it all.\"<br><br>It'll also probably take a decade for Microsoft to finish WPF.  Rushed out of the door with 3.0 in order to meet the artifical Vista deadline - and quite possibly over-engineered (it's Microsoft, I wish I could expect different).  Working on the Microsoft platform has gone harder, not easier in the past couple of years.  For those of us in small companies trying to keep up with all of that output is a full-time job in itself.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-26_17:23:16", "killed": false, "user_key": "4fe19b3352f366bef89ea9cdf6c0e0c9", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671912": {"up_voted": false, "ip": "", "has_replies": false, "message": "&gt; So, you\u2019ve EXACTLY demonstrated my point: people are moving away from Microsoft.<br><br>Have I? I think you demonstrated your point by making a completely unsupported statement. Or didn't, rather.<br><br><a href=\"http://www.w3schools.com/browsers/browsers_stats.asp\" rel=\"nofollow\">http://www.w3schools.com/browsers/browsers_stat...</a><br><br>IE share is relatively stable, once you factor in IE7.<br><br>And absolutely Windows dominates. According to that OS stats on that same page, \"The Windows family accounts for nearly 90%\".<br><br>Maybe not on the 37signals blog (duh). But outside the silicon valley startup bubble, computers are tools, not a fashion statement.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-26_18:30:23", "killed": false, "user_key": "51d623f33f8b83095db84ff35e15dbe8", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671913": {"up_voted": false, "ip": "", "has_replies": false, "message": "Seshadri: actually, people do listen. They might act like they aren't, though.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-27_15:13:26", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671914": {"up_voted": false, "ip": "", "has_replies": false, "message": "Microsoft has problems, but they\u2019re standard big company problems. The battleship doesn\u2019t turn fast enough.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-26_18:48:13", "killed": false, "user_key": "82c29467a81bd68d6d82b83eddd9e25a", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671915": {"up_voted": false, "ip": "", "has_replies": false, "message": "John, I took the bate. She looks Wow indeed, but i also decided to test her functionality (actually she's now shouting \"type something here\")<br><br>I decided on a small test to see whether she is wow as she seems to be a search portal. Around 2000 I was involved in building a search portal for a italian operator. Based upon natural language you would receive results f.i. give me the best hotel in rome (in Italian) would give you results and could connect you with the appropriate hotel when you decided so.<br><br>I tried this question: \"What's the best restaurant in Seatle\"  She responds with something about a celebrity strip show, nice but utterly useless information and the first result she shows is this site: <a href=\"http://strayfromtheheart.org/wordpress/?p=38\" rel=\"nofollow\">http://strayfromtheheart.org/wordpress/?p=38</a><br><br>The result is useless, not even close to what i was looking and you call this wow????<br><br>If you where over here in the Netherlands I would ask you which coffeshop you've been to, because they've definitely have some very good shit there.<br><br>You would have wowed me when she would have responded in the likes of:<br><br>Well this is the best according to the critics, but according  to the incrowd this would be the best place to go.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-27_04:51:42", "killed": false, "user_key": "d1b44a8368e7418bc4347a587f7f83b9", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671916": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert, you are focusing too narrowly on blog writers/audience and companies who you interview as being representative of the entire industry. Your comment on the marketshares underscores that quite well.<br><br>Just because I don't see people using products from company A, B, and C does not mean I am going to conclude that people are moving away from companies A, B, and C. My friends may be, but my friends are hardly representative of the rest of the world.<br><br>Cheers!<br>Kirupa", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-26_18:21:51", "killed": false, "user_key": "51f1c79fe3d8e3098ac60b23b8601a33", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671917": {"up_voted": false, "ip": "", "has_replies": false, "message": "@25, Yes i work at microsoft. I don't hide that. In fact i thought it was fairly obvious from my comments that i work for Microsoft. Besides, Even if i were to tell my name you wouldn't recognize me.<br><br>(I don't think i have enough interesting things to say yet to have an active blog and establish an online profile.)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-26_17:07:13", "killed": false, "user_key": "df2bebffe2fece4cee7ed284aaff3cf0", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671918": {"up_voted": false, "ip": "", "has_replies": false, "message": "Scobble, everytime i wake up I see a hot good looking woman, she's called my wife ;)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-27_05:00:25", "killed": false, "user_key": "d1b44a8368e7418bc4347a587f7f83b9", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671919": {"up_voted": false, "ip": "", "has_replies": false, "message": "John: if this is what's called \"burning a bridge\" then I don't want it.<br><br>You missed that I told Bill Gates to split Microsoft up BEFORE I was a Microsoft employee. One thing I like about Microsoft is that they usually are pretty good about criticism.<br><br>If telling the world what developers are telling me in the street is going to burn a bridge, then so be it.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-27_05:07:48", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671920": {"up_voted": false, "ip": "", "has_replies": false, "message": "And her opinion matters, why?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-26_16:04:48", "killed": false, "user_key": "94b97883b878f9051ee8071bdcf2a9e7", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671921": {"up_voted": false, "ip": "", "has_replies": false, "message": "John: because my original point last week that led to the development of this post here was that developers are moving away from Microsoft technologies on the Internet.<br><br>Shoestring budget? Really? I didn't know you could hire an actress and put together something this cool on a shoestring. I heard the actress on CNBC who did this the other day and it didn't sound like a skunkworks project. Where did you hear that?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-27_04:42:23", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671922": {"up_voted": false, "ip": "", "has_replies": false, "message": "Smeagol: because Liz is an influential person in the world I live in.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-26_16:41:49", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671923": {"up_voted": false, "ip": "", "has_replies": false, "message": "WhoKnew: what loans are you talking about? All of our Macintoshes are purchased. I purchased my own machines too.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-26_16:45:12", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671924": {"up_voted": false, "ip": "", "has_replies": false, "message": "&gt; When I say \u201crelevant\u201d or \u201cinteresting\u201d I\u2019m looking for growth prospects.<br><br>How do you grow when you have 95% market share? That's true of PCs and Internet Explorer. And the only people that care about growth anyway are stock market analysts. Boring. I'm more interested in making better use of what we already have.<br><br>&gt; Things that are different today than yesterday.<br><br>No shortage of new stuff coming out of Redmond. Good lord-- Windows, Vista, Office 12, the whole VS 2005 stack and the out-of-band additions like ATLAS, .NET 3.0, WPF (reinventing the GUI on Windows) and so forth. It'll take a DECADE to absorb it all.<br><br>&gt; Or things that\u2019ll get developers to switch from Google, or Adobe, or Apple and toward Microsoft stuff (or vice versa).<br><br>I've used Google to search since 2000. I doubt that will ever change. I've used a Windows OS since 1993. Ditto.<br><br>Why is this a zero-sum game? Why does growth of one have to come at the expense of the other? Google is an advertising company. Microsoft isn't. And frankly, the all-advertising-all-the-time future predicted by Google's business model scares me a lot more than anything else:<br><br><a href=\"http://www.codinghorror.com/blog/archives/000772.html\" rel=\"nofollow\">http://www.codinghorror.com/blog/archives/00077...</a>", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-26_16:45:53", "killed": false, "user_key": "51d623f33f8b83095db84ff35e15dbe8", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671925": {"up_voted": false, "ip": "", "has_replies": false, "message": "On Scoble becoming defensive:<br><br>&gt; It\u2019s interesting that the tactic used here is \u201cattack the messenger\u201d and not \u201cput up some decent arguments.\u201d<br><br>Are you under attack? Granted, there are some jerks who post rude stuff here (and you absolutely have a right to ignore and delete their posts), but generalizing an discussion into \"you guys are all out to get me\" (p.s. your arguments suck) isn't helpful, either.<br><br>&gt; I\u2019ve met with more than 125 companies all around the world and these trends have nothing to do with Silicon Valley startup bubbles.<br><br>Nothing screams \"I'm important\" quite like a man screaming \"I'm important.\"<br><br>&gt; #44: of course you\u2019re right. Instead we\u2019re all listening to you and your wonderful insights about the tech industry. Where\u2019s your blog again?<br><br>See above. Granted this guy was a jerk, but it's better to ignore than stoop to their level.<br><br>&gt;  I\u2019ve also met with CTOs of some very big companies and big compute organizations in the past few years. I don\u2019t see any new love for Microsoft there, either.<br><br>I used to have a girlfriend who would condescendingly tell me that my opinion was invalid because I wasn't privy to the same information she had. We're no longer together. And I pity the poor man she's married to now.<br><br>&gt; Also, you\u2019re confusing your influentials.<br><br>And you're evidently the arbiter of all things influential as well. Why even bother asking us what we think when you already know the correct answer?<br><br>This isn't a naked conversation. It's you reflexively browbeating everyone into submission with your opinions.<br><br>For whatever reason, this is not the Scoble I remember. Maybe I'm remembering wrong. Maybe discussions here were always like this. But to me, you seem angrier and more defensive than I remember.<br><br>I love you anyway, but I'm just sayin'.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-27_05:22:30", "killed": false, "user_key": "51d623f33f8b83095db84ff35e15dbe8", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671926": {"up_voted": false, "ip": "", "has_replies": false, "message": "The Product Manager who did Ms. Dewey was interviewed on NPR and talked about how he did it (i.e. without LCA approval).  I say \"shoestring\" for MSFT, but still small.  MUCH less than you'd think for a MSFT marketing project.  Couple dozen g's.  I didn't say skunkworks...I said shoestring.  I work with actresses all the time, you can absolutely hire someone to do voice and video shorts for a couple 10 grand.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-27_04:50:58", "killed": false, "user_key": "e4cd45e28a14bc4725bf90be8d1b2f6d", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671927": {"up_voted": false, "ip": "", "has_replies": false, "message": "We all love XBox.<br><br>except for Xbox360 families. They love 360's.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-26_17:40:45", "killed": false, "user_key": "f1c31d594177c3ab8f92e9d4d1d8d58e", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671928": {"up_voted": false, "ip": "", "has_replies": false, "message": "<i>vista infrastructure for video editing</i><br><br>Oh it's very functional, Adobe, Grass Valley, Discreet (AutoDesk), the Avid family, Pinnacle, Sony Vegas, and getting a hecko-kick outta the new SpeedEdit. The fact that some people go Final Cutty, doesn't cancel out the Windows (and now Vista) infrastructure. And then all the Intelified Workstations, i.e. 3DBOXX RTX and the hybrid stuff like the Casablanca Liberty and capturey stuff like Matrox RT.X2. It could well be argued that the Windows infrastructure is FAR more mature and developed. But Mac is finally expanding outside of the Final Cut only mode, Avid and others tossing hats in ring. So Mac or PC, doesn't much matter. The tools really aren't the focus, that's all pointless shop talk, the outputted content is the key. But saying Vista isn't up to video editing tasks is just playing politics.<br><br>PS - The only beef I have with \"Macs\", has zero to do with Apple, it's Sony, in refusing to make Vegas avail. on OSX.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-26_17:51:48", "killed": false, "user_key": "7f6291e8344b594235e57b843fc05d9b", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671929": {"up_voted": false, "ip": "", "has_replies": false, "message": "I think their biggest problems are twofold:<br>1. A lot of the people developing on the web either use LAMP or they develop their stuff on the mac. They are fighting a fight up the hill against people that just don't trust MS anymore. F.i. @ 8 Marcello makes the remark that in his opinion expression is more standards oriented than Dreamweaver. It's nice to note that, but making claims that Microsoft is more standards compliant than whatever what will always be related to the bad rep they've got with respect to their implementation of standards in IE. Most developers only for that reason have an aversion against MS. (it has costed them time which is valuable). Let's not forget that this company also gave us frontpage and the frontpage extensions... There are indeed a lot of .Net programmers out there, but most of them reside in the enterprise.<br>2. It's great to use the MS tools when you're in an all MS environment. But outside of it, most stuff won't work. WPF/E might be great, but unless I can develop for it using the environment I'm comfortable with, and run it i won't even bother to investigate it.<br><br>I can understand why they take the route they take, and it makes perfect sense, but also don't expect the web people to invest a lot of time in learning new tools and environments.<br><br>With regards to the Wow factor, the last time i had the wow was when i read the bare specs of the Zune. (Actually I really liked the WiFi part, but they ruined it later on with their implementation).<br><br>One thing I've noted is that they start very early in the process talking about their stuff, but delivery seems to take a very long time. (And I'm not talking about Vista). My take is that they should keep the marketing people out of the door as is possible and put stuff very fast out on the market as far as the web is concerned. Something like photosynth is nice, but they showed it last year, wowed a lot of people and now when they put it to the market the real wow factor is gone with those that influence..", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-26_15:23:31", "killed": false, "user_key": "d1b44a8368e7418bc4347a587f7f83b9", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671930": {"up_voted": false, "ip": "", "has_replies": false, "message": "IMHO...Kevin Johnson is a moron.  Sorry to say it if you like him, but I never liked him when he was in charge of sales and don't like him now.  He lacks vision and spine for true innovation.  He's toeing the Ballmer line.<br><br>Web delivery is an infrastructure concern, but too many inside MSFT have adopted the mantra that web delivery == search revenue.  Wrong and wrong.<br><br>I'm in the Office org and I can tell you that the groups doing some great new things (for the web even) haven't even heard of or been invited to the Mix conference.  You were in DPE...they're connected well in some groups and not well in others...and they're the ones driving Mix as well.  I hear you on Ozzie's silence, not much to say there...but even those of us in Office pretty much just plug along, we don't care what he says...yet.<br><br>The companies that I work with, external partners, hundreds of them in the enterprise space...are still looking at rich client delivery, for a number of reasons, not the LEAST of which is the fact that large enterprises have yet to really jump into the web...and that will take years.  In the meantime they're doing fantastic things with Office, and WPF and BizTalk and SQL Server and BI....amazing things really.  Not really your bailiwick...I get that, but don't also discount it.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-27_05:25:46", "killed": false, "user_key": "e4cd45e28a14bc4725bf90be8d1b2f6d", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671931": {"up_voted": false, "ip": "", "has_replies": false, "message": "I worked with Scoble at Microsoft Evangelism and now I am a Microsoft Partner. I agree with Robert. Expression rocks (seriuously, if you use Windows, download the trials, it's worth it), but the lack of Macintosh support and the delayed launch of WPF/E hurt adoption.<br><br>I think a bigger problem is how badly Microsoft distributes its own free technology today. Flash and JVMs are common today because of bundling with IE4 in the late nineties. In contrast, Microsoft always did a very bad job distributing all versions of the .NET Framework. Vista has .NET FX 3.0 out of the box, but Microsoft should be giving incentives for XP users to install it. Wide distribution and universality of the runtime environment is more important than the quality of the development tools.<br><br>And the final version of WPF/E should be as quick and simple to install as Flash Player. People upgrade Flash Player all the time, without even noticing. Adobe's secret: cool content - people are always willing to update Flash Player to see the latest Nike hotsite. WPF/E should be launched with some rocking early adopters to receive the same treatment.<br><br>Other than that, there's enough in Expression, WPF and WPF/E to wow even hardcore Adobe/Macromedia folks. However, there's inertia, and Microsoft needs to make clear why designers/developers need to learn yet another set of tools. I list below some reasons:<br><br>In my own experience, I think Expression Web is cleaner and more standards-oriented than Dreamweaver. Try for yourself.<br><br>Expression Blend is the best application prototyping/design environment I ever saw; version 1.0 won't support WPF/E (shame), so it will be more valuable for .NET desktop developers (corporate and ISV). Once WPF/E support is there, Adobe Flex will be an even weaker proposition than it is today. If Microsoft does a decent job of supporting other platforms and distributing WPF/E, there will be many Flash switchers out there.<br><br>Expression Design is a niche tool, but one that complements very well the arsenal of tools of any designer/developer; by using it the right way, combined with Expression Blend's resource dictionaries, you can design very sophisticated custom control palletes that can boost produtivity 10 times for complex interactive applications.<br><br>Expression media is a nice asset management tool, large studios and development teams will like it.<br><br>The weak spots? Besides the delays in WPF/E, one thing that takes a lot of the charm of Expression is the weak support of Visual Studio Team System.<br><br>With an universal Web-based runtime (WPF/E) correctly deployed and integration to Visual Studio Team System in place Microsoft can make a revolution in niches such as Internet Banking and E-Commerce. Problem is, there's no clear roadmaps for those to happen.<br><br>Finally, but this is too far-fetched to become a reality, Microsoft should partner with someone in the Java/PHP camp to develop XAML support in LAMP tools and Eclipse. It doesn't take genius to realize that it would help adoption of XAML and WPF/E as true standards.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-26_13:50:05", "killed": false, "user_key": "02667f5cfc17e97b3cd7b86ce2ea03a7", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671932": {"up_voted": false, "ip": "", "has_replies": false, "message": "@14<br><br>\"It\u2019s interesting that despite having tens of thousands of readers, including many influential developers from around the world, that the above 12 comments are the best that Microsoft can garner.\"<br><br>It's very tiring to stand up for Microsoft everytime. I mean, it doesn't matter what the real issue is - there are more MS bashers in the blogosphere(blogger and commentors) than people who comment based on an issue. So quite of a lot of vocal technically sound MSFT employees simply have given up trying to refute each and every anti-MSFT thing. But that doesn't mean they all agree with that.<br><br>However i agree with the rest of your comments. There isn't enough internet focus currently. I would think of 2 reason for that<br><br>1) Until very recently almost everyone inside MSFT didnt get online. They viewed it as a passing fad. The Netscape experience kept telling everyone that its a matter of time before MSFT wins again.<br><br>2) By the time 'the online is future' realization happened - VISTA was draining energies so that added to some more slowness. Think of all the screwups frmo MSFT in the last 18-24 months and see how you can trace the roots to VISTA for most of them.<br><br>But again, irrespective of the platform Microsoft hardly won anything with a 'WOW'. It was just relentless pursuit and 'Version 3' softwares. I do see quite subtle changes that indicate the online is future realization inside the company. (Today Microsoft is announcing acquisition of a medical search company and its foray in to the healthcare verticals. As per the early reports it really looks like a service based approach)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-26_16:02:11", "killed": false, "user_key": "df2bebffe2fece4cee7ed284aaff3cf0", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671933": {"up_voted": false, "ip": "", "has_replies": false, "message": "\"When I say \u201crelevant\u201d or \u201cinteresting\u201d I\u2019m looking for growth prospects.\"<br><br>Speaking of \"Wow\"...Wow, Robert's become an insurance salesman!<br>It sounds like you're loading the semantics of the question to support your theory that MS doesn't have anything exciting. If \"wow\" is about market potential, fine, but that's not what excites me as a developer. But on the other hand, I say that ASP.Net is an exciting technology because it reduces my app's code by 75%, yet you say developers have to wait until May to see what MS is doing for us.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-26_15:40:58", "killed": false, "user_key": "ffae666ed0f2f8ab84f6569b2295c460", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671934": {"up_voted": false, "ip": "", "has_replies": false, "message": "How can you get excited about Vista. I think its the Dumbest thing Microsoft has made.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-26_15:38:27", "killed": false, "user_key": "0687c4101109dbb71f2ccef007489c21", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671935": {"up_voted": false, "ip": "", "has_replies": false, "message": "neverness: I agree with you. I just tried a few searches and definitely wasn't \"wow'ed.\" And, if you think she's good looking there's a lot better looking women out there who won't annoy you. Try Cali Lewis over at Geekbrief.tv, for instance.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-27_04:55:14", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671936": {"up_voted": false, "ip": "", "has_replies": false, "message": "\"This is a street fight over developers and the developers are leaving for Amazon, Google, and Adobe. How do I know that? I just interviewed a ton of them and I read 600 of the world\u2019s most interesting tech blogs and I haven\u2019t seen anyone really dispute that in any real way.\"<br><br>...and you somehow didnt realize this while you were interviewing developers at Microsoft and reading 400 of the world's interesting tech blogs?  This isnt breaking news - developers and smart people in general have been leaving MS in droves post 1999.  Yet we kept getting the same informercial drivel in your blog.  Either you were too dumb to notice (not likely) or you chose not to rock the boat.<br><br>Lots of people at the time were saying that you had a credibility issue with regards to Longhorn.  It could be because you were absolutely adament on a seemingly daily basis that Longhorn was the greatest thing since canned corn. You even blogged about having built your life around it.  Now that you away from MS and you actually have to live with Window's issues and shortcomings and cant just call a team's war room to get the bugs that bother you fixed, the world seems a bit different.<br><br>You speak of a disconnect. The real disconnect is that you dont seem willing to bet your own paycheck and/or reputation on vista infrastructure for video editing but you've asked us to do exactly that for years.  See the problem?<br><br>Actually having to pay for stuff also changes perspectives of MS products from most of the ex-MS employees that I know.   But that may not apply to you....have you returned those editing machine \"loans\" that you are \"reviewing\" by editing your day-to day videos yet?  If not, then tell me again how they will be returned \"soon\" and/or how open-ended \"loans\" are different from ethically wrong gifts.<br><br>WhoKnew", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-26_15:47:31", "killed": false, "user_key": "19d50287113fc732c62b62291bcfbdf8", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671937": {"up_voted": false, "ip": "", "has_replies": false, "message": "@72...<br><br>Be honest Robert...you're burning the bridge.  Yes, I'm a softtie...not a big fan of the company more often than not, but your posts of late, while mostly on target (mostly) have been really disrespectful to the company that put you on the map.<br><br>Did someone diss you on an interview or charge you full price for your MSDN or something?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-27_05:00:03", "killed": false, "user_key": "e4cd45e28a14bc4725bf90be8d1b2f6d", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671938": {"up_voted": false, "ip": "", "has_replies": false, "message": "NEVER trust someone to be objective about their employers products vs alternatives.  It's not human nature, it's certainly not smiled upon by most companies, and there are always more objective sources to go to.<br><br>It *is* useful to have an insiders perspective on a company, and for such insiders to establish their credibility they have to avoid statements that are verifiably false.  But there is certainly no dearth of people willing and able to speak up on behalf of Microsoft, including people who have relatives on the payroll at the Washington Post.<br><br>View the comments for this article, written by Bill gates:<br><br><a href=\"http://www.washingtonpost.com/wp-dyn/content/article/2007/02/23/AR2007022301697.html\" rel=\"nofollow\">http://www.washingtonpost.com/wp-dyn/content/ar...</a><br><br>What you'll find is that among ordinary people, not technogeeks (well some of those in there too including mine) people's opinions about Microsoft are almost uniformly negative.  Even when Bill Gates makes several statements that most people would agree with, we almost universally question his motives.<br><br>Actions speak louder than words.  We all know that.  What the world waits for is some indication, not an open letter or a press release, that the company has changed its attitude about how it competes, and how its products fit into the vast world of technology.<br><br>The insatiable, palpably pathological urge for a few top executive to dominate, rather than just contribute to the \"technosphere\" worries the average informed person, and with good reason.  What is needed is for these tendencies to not just be curbed, but *eliminated*.<br><br>Still watching for signs of (real) change.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-26_15:29:01", "killed": false, "user_key": "macbeach", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671939": {"up_voted": false, "ip": "", "has_replies": false, "message": "John: agreed.<br><br>But, regarding what's hot. Don't take my word for it. Kevin Johnson, Microsoft's President, says that Web delivery is where they are focusing. That's why Microsoft is doing the Mix conference. I'll be at the next one. It'll be interesting to see what they show us because what they have been showing us has been falling flat.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-27_05:19:51", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671940": {"up_voted": false, "ip": "", "has_replies": false, "message": "I have been playing a lot with Windows Live Search for my phone... I'm using it on my Cingular 8525.  I have to say that it's pretty nice for one spectacular reason:<br>Traffic.<br><br>It's way more accurate than Google traffic on my same device.  I don't like the traffic implementation in WLS Mobile as much (refreshes the whole map vs. an overlay), but it's accurate and precise (i.e. it actually has my freeway on it where Google does not).  Google traffic is just plain wrong or absent in many locations.<br><br>I drove through Marin, Oakland, Berkeley etc. all this weekend and knew where / when to go because of it.  I even went shopping in Petaluma using it (did a search, scrolled around as we drove to find the next destination).<br><br>I have a TrafficGauge for the Bay Area as well.  While its single-purpose use and interface is great, I travel a lot and need to take the traffic with me.  North Marin isn't represented either.<br><br>Also, WPF/E is going to be good.  As a company, we're looking at \"what's next\" for our UI, and we're pondering not going to WPF at all, but writing everything as WPF/E.  That way we support a broader audience.<br><br>I've also been working a lot with MOSS in the wiki and blogging functions.  There is a lot of value there, but it's a little off the mark.  I wish the commentary aspect of the wiki from wikimedia was in MOSS.  There's no reason for it not to be.  It's the missing collaborative element.<br><br>The wiki/blog experience has been mind-opening at the company though... I'm the lone crusader so far, but it's winning people over despite the complaints over structure etc.  The fact it's baked into sites right next to other SharePoint functions is huge.<br><br>TTFN", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-26_14:08:18", "killed": false, "user_key": "3209ee41599cb860aaf55c40cda485ee", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671941": {"up_voted": false, "ip": "", "has_replies": false, "message": "John: the irony of you calling Kevin Johnson, a guy you work for, a moron, right after you were telling me I was burning my bridges. Pot calling kettle black maybe?<br><br>Amazing.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-27_05:49:15", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671942": {"up_voted": false, "ip": "", "has_replies": false, "message": "Windows Live Writer is not bad (apart from the fact that it only runs on Windows!)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-26_14:15:44", "killed": false, "user_key": "4014faa76f94764aeb84e70bf39bf22f", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671943": {"up_voted": false, "ip": "", "has_replies": false, "message": "A quick Google for Flip flop and guess who is the #1 result?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-26_14:21:58", "killed": false, "user_key": "9b646ff3eeda1f01cc2b1cb86d1634f9", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671944": {"up_voted": false, "ip": "", "has_replies": false, "message": "Jeff: &gt;&gt;Why even bother asking us what we think when you already know the correct answer?<br><br>You're reading stuff into my writing that simply isn't there. But, then, if I do know the answer I'm going to tell you. It's my blog.<br><br>John: really? I was at a Salesforce conference and all the big companies say they are doing Web stuff now. I met lots of Fortune 100 companies there.<br><br>I guess that I can't even engage in my own comment area anymore without being browbeat into submission without appearing defensive and/or angry. Sigh.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-27_05:47:41", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671945": {"up_voted": false, "ip": "", "has_replies": false, "message": "\"Therefore <a href=\"mailto:blogger@wordpress.com\" rel=\"nofollow\">blogger@wordpress.com</a> shouldn\u2019t have expected that to remain private.\"<br><br>I didn't.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-27_00:58:57", "killed": false, "user_key": "df2bebffe2fece4cee7ed284aaff3cf0", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671946": {"up_voted": false, "ip": "", "has_replies": false, "message": "its good jadan from joshua R", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-27_01:11:15", "killed": false, "user_key": "2e0120a117b50144ed0ebc80a5c7a589", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671947": {"up_voted": false, "ip": "", "has_replies": false, "message": "As it seems a lot of responses are from Microsoft, I guess Robert you hit a nerve. What most however fail to grasp is the inertia in the market with regards to the fields Microsoft is moving in or trying to catch up.<br><br>For instance getting web developers to move away from photoshop/dreamweaver/txt-editor will cost an enormous effort. Basically because it's trying to solve a non issue for most web-developers.<br><br>Luring away developers from OpenLazlo/Flex/Eclipse into Visual Studio which imho is only trying to get you into the Microsoft Environment doesn't make any sense. It will only add costs to the infrastructure which for most startups is just a no no.<br><br>Make it possible to develop WPF/E applications on Eclipse and make it possible to deploy it to an Apache infrastructure and you could get traction within the startups of the future.<br><br>But currently most are using Ruby on Rails, Python and flash (Flex/OpenLazlo) to get stuff done....", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-27_03:30:38", "killed": false, "user_key": "d1b44a8368e7418bc4347a587f7f83b9", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671948": {"up_voted": false, "ip": "", "has_replies": false, "message": "\"did not want to explicitly reveal his/her relationship\"<br><br>I don't get this. It's not like i lied about where i work. Nor did i claim i didn't have any relationship with Microsoft. Also I have not used or misused the anonymity ever.<br><br>This topic simply didn't come up at all. The first time it came up was in this comment stream - I responded with a straight answer.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-27_00:56:01", "killed": false, "user_key": "df2bebffe2fece4cee7ed284aaff3cf0", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671949": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert - there are times when I look at Techmeme and say \"Hmm..why aren't these people talking about our stuff?\". But that changed quickly when I had to call home to talk to my mom and my sister - both of them are not computer enthusiasts and can barely use the computer at home. But they both asked me about this new Windows Vista thing and said that it seemed very nice from the ads and asked me (since I'm a MSFT employee) whether I should buy it.<br><br>Similarly, I was at a restaurant recently and the head waiter spotted my blue badge. He came over to me and proudly showed me how they were using Windows XP for their billing. He also ensured that I got good tables ever after.:)<br><br>I could go on..but you get the idea. Robert - I'm a bit tired of this talk of 'influentials'. Yes, I would love it Mike Arrington were to link to our products every day. But the truth is, there are millions and millions of other people out there. People like my mom and sis. Uncles, aunts, lawyers, teachers,etc. All these folks still love and trust Windows. You just don't see them posting to Digg about it. :)<br><br>This is not a corporate cheer-leading ra-ra comment. Do we have challenges? Damn right we do. But you just can't count out a company which 700 million people use to run their computers and their lives.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-27_04:08:48", "killed": false, "user_key": "a3e1dfcb5950eab3cab0f571cf13ee71", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671950": {"up_voted": false, "ip": "", "has_replies": false, "message": "@71...<br><br>Just my point.  On a shoestring budget you can't cover every locale with the script nor can you cover every city.  I actually don't care that some of the monolog is inane.  The search works (base on Live Search) and for instance even though they didn't code for Spanish, I actually get good results when searching for things for my Latina wife.<br><br>The person in charge wants to cover more locales, but doesn't have the budget now.  My guess is that someone in Legal or management at MSFT got their hands on this and that's where the innovation stops.  A completely different issue altogether...see MiniMSFT.<br><br>For me...for my teenage sons...Ms. Dewey makes Search fun.  Beats the pants off other interfaces I have seen and because it's from MSFT I know I can trust it, in more ways than one.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-27_04:58:04", "killed": false, "user_key": "e4cd45e28a14bc4725bf90be8d1b2f6d", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671951": {"up_voted": false, "ip": "", "has_replies": false, "message": "Ms. Dewey isn't wow?  Not only is it a good skin on Live Search, but it's some good skin on search...if you know what I mean.  She's HOT.  And the script is inventive and edgy.<br><br>And yes...you may not see the vitriol, but I see it as well, it bleeds through in your comments.  You may not like anonymous comments (like mine),  but you do have them turned on.  Very disengenuous of you to then \"out\" the anon posters at your whim.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-27_04:10:49", "killed": false, "user_key": "e4cd45e28a14bc4725bf90be8d1b2f6d", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671952": {"up_voted": false, "ip": "", "has_replies": false, "message": "Outside of gaming who *is* getting excited over Microsoft? Vista != WOW (unless you say it with teenage sarcasm voice).<br><br>I was a MVP, Aspinsider, community leader and other Microsoft development ra-ra-ra cheerleading type stuff. *Was* a long-term fan. Switched to Mac. I have never been happier.<br><br>Microsoft does do some things well. Doing things competently doesn't get people excited, let's see something *outstanding*!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-26_12:53:51", "killed": false, "user_key": "772bb0ad28f9cdd045aca3ac25500a12", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671953": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert, do you know about the new Xbox Rewards program?<br><br>It is set along the lines of achievements/gamerscore, in which you are \"rewarded\" with completing a challenge.  The current challenge is to raise your gamerscore by 1,500 points.  It is a first come, first serve for the prizes though.<br><br><a href=\"http://xboxrewards.msgamestudios.com/\" rel=\"nofollow\">http://xboxrewards.msgamestudios.com/</a>", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-26_12:33:57", "killed": false, "user_key": "3ae47ea7f6fd6dae57e85ddc68d07f81", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671954": {"up_voted": false, "ip": "", "has_replies": false, "message": "John: if you think Ms. Dewey is \"wow\" then I have to wonder what Merlot are you drinking because obviously I need some of that!<br><br>Sriram: good points. Vista ads are plastered all over San Francisco. They aren't as cool as the iPod ads, but at least they are there. I remember asking the marketing department to do advertising like that and getting blank stares for a long time. So, kudos!<br><br>But, now, why isn't Vista sales meeting expectations? Ballmer is going around calming everyone down cause he knows that sales aren't very hot.<br><br>Hint: normal people don't upgrade: geeks do. We don't see the need.<br><br>This is the problem. Ads don't do the trick for us.<br><br>Also, you're confusing your influentials. Mike Arrington is influential in Web 2.0 stuff. You'd be better off talking with Chris Pirillo, or John Markoff or Steven Levy or Leo Laporte about operating systems (or, about 100 people who are similar). Those are the guys that lots of people listen to.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-27_04:19:08", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671955": {"up_voted": false, "ip": "", "has_replies": false, "message": "John: even better. Ms. Dewey is done in Flash! <a href=\"http://www.msdewey.com/\" rel=\"nofollow\">http://www.msdewey.com/</a><br><br>So, even Microsoft's own developers like Flash better than .NET 3.0 for client-side stuff.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-27_04:21:21", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671956": {"up_voted": false, "ip": "", "has_replies": false, "message": "I say again: ASP.Net 2.0<br>The 75% or so in code reduction is no lie.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-26_12:50:23", "killed": false, "user_key": "ffae666ed0f2f8ab84f6569b2295c460", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671957": {"up_voted": false, "ip": "", "has_replies": false, "message": "&gt; Microsoft isn\u2019t convincing anyone else that it\u2019s important or relevant anymore \u2014 at least in the Internet and advertising spaces<br><br>Really? So startups are writing web sites that work only on Firefox and Safari and fail to load in IE6 or IE7? So web-based spreadsheets can be incompatible with Excel files?<br><br>Define \"important\". Define \"relevant\".<br><br>Microsoft has problems, but they're standard big company problems. The battleship doesn't turn fast enough.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-26_14:36:37", "killed": false, "user_key": "51d623f33f8b83095db84ff35e15dbe8", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671958": {"up_voted": false, "ip": "", "has_replies": false, "message": "Jeff and Keith: I think I get where we're having a disconnect.<br><br>Let's separate out status quo from where Microsoft (or the software industry) will see growth.<br><br>That's why I don't think SQL Server, or new features on MSN Messenger, or Windows Vista/Office are all that exciting. Microsoft simply won't see much growth from those (at least not more than the growth rates they have seen for the last four years, which is why the stock market has only increased Microsoft's stock around 20% since I became a Microsoft employee).<br><br>When I say \"relevant\" or \"interesting\" I'm looking for growth prospects. Things that are different today than yesterday. Or things that'll get developers to switch from Google, or Adobe, or Apple and toward Microsoft stuff (or vice versa).<br><br>ASP.NET 2.0? Not interesting, even though there are millions of people using it (and who, even, love it). I just don't see it growing Microsoft's market that much. Now, you might disagree, and I'd love to hear your reasons (they make good fodder when I interview people involved in the Linux industry).<br><br>When I say I see a lot of people moving away from Microsoft approaches and/or that Ray Ozzie's silence is growing louder, that's what I'm talking about.<br><br>And, internally, Kevin Johnson told us that Microsoft's future growth will come on Internet and advertising. That's Microsoft's own leadership saying that. He knows what field the ball is on. ASP.NET might play a role there, but they haven't shown developers yet how the ball gets into the goal with ASP.NET or WPF yet.<br><br>Tomorrow Adobe is doing a big show and tell. It'll be interesting to see what comes out of that, and then what Microsoft does to keep developers on its team.<br><br>It's interesting that despite having tens of thousands of readers, including many influential developers from around the world, that the above 12 comments are the best that Microsoft can garner.<br><br>This is a street fight over developers and the developers are leaving for Amazon, Google, and Adobe. How do I know that? I just interviewed a ton of them and I read 600 of the world's most interesting tech blogs and I haven't seen anyone really dispute that in any real way. I know Ray Ozzie is reading this stuff (Mini sure is, he linked this morning).<br><br>I guess we'll have to wait until May to hear what Microsoft is doing for developers. The posts above show the developers are restless at minimum and are actively leaving the Microsoft camp at worst. Either story is not good for Microsoft long term.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-26_15:00:28", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671959": {"up_voted": false, "ip": "", "has_replies": false, "message": "Jeff, only a Microsoft fanboy would think important means locking out the competition.<br><br>Microsoft's \"importance\" problem is that it continues to lock out competitors despite its claim of potential platform independencies.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-26_14:57:35", "killed": false, "user_key": "3aeb85796d88e54daedf94e769fda691", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671960": {"up_voted": false, "ip": "", "has_replies": false, "message": "Here is my Wow list from Microsoft<br><br>I like the Windows Live for mobile over google offering<br><br>Windows Live Mail Desktop (lets me add Hotmail, Gmail and Yahoo in a single client)<br><br>I like the new UI of Windows Live Mail (I not sure whether you have used it, specially it lets you change the themes on fly)<br><br>I like the Photosynth technology<br><br>I like the new redesign UI of Microsoft Office 2007 (especially the part that I can blog from Microsoft Word in Office 2007)<br><br>I like the Windows Live for TV Beta<br><br>I like WPF/E and like the fact that it can run on my Macbook pro<br><br>I like beta of Windows Home Server (I think it will be a cool technology, It is coming this year)<br><br>I like the fact that I will be able to play with Xbox  Live games on Vista<br><br>I like Hallo 3 Beta, It rocks<br><br>UniveRSS - a 3D Vista RSS reader", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-27_01:59:43", "killed": false, "user_key": "0e5e1abc3114e2feb214264165e5b725", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671961": {"up_voted": false, "ip": "", "has_replies": false, "message": "Kamal: I hate anonymity. Anyone posting here knows that. Also, anyone smart will know that your IP address is being reported to the site's owner. I assume Microsoft hires smart people. Therefore <a href=\"mailto:blogger@wordpress.com\" rel=\"nofollow\">blogger@wordpress.com</a> shouldn't have expected that to remain private.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-27_00:51:16", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671962": {"up_voted": false, "ip": "", "has_replies": false, "message": "Jeff: huh? I just went back and looked at my last five comments. I can't see any anger. Do you project this on anyone who tries to have a debate with you?<br><br>Actually, Apple's Mac market share went up a few percent in last quarter to a little more than 6%, according to articles I just found via Google. But, point taken.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-27_02:40:40", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671963": {"up_voted": false, "ip": "", "has_replies": false, "message": "Well, for my part, I hope you're not burning a bridge, but I think that you need to take a hard look at the tone of your posts and comments.  I understand, sometime they come in too fast to really reflect.  If Microsoft needs to do something to win you back over, they need to.  If you need more visibility into some of the smaller pockets that are doing cool things, I'm sure they could use your help and visibility.  But don't write off the company that made you a much bigger person simply because you haven't been able to hit every corner of the behemoth.<br><br>Also remember that you only hit a segment of the developer marketplace that focus on web delivery.  I work and have worked with scores of companies in the enterprise business app space that are huge MSFT users.  And these are those that deal with daily decisions about whether to use (or not) MSFT tools or someone else, not fan boys or MVPs, but real firms trying to meet a bottom line...and they do great things with MSFT technology.<br><br>As for splitting the company up...we're all for it, us here down in the trenches.  :-)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-27_05:15:23", "killed": false, "user_key": "e4cd45e28a14bc4725bf90be8d1b2f6d", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671964": {"up_voted": false, "ip": "", "has_replies": false, "message": "Dewey in Flash?  Who cares?  If you're defining \"wow\" in terms of growth (see 27 and 40) then MSFT is obviously doing what it needs to see growth through using another tool for the job.  Who the f--k cares what it was created in.  That was done on a shoestring budget under the radar, obviously some dev had an affinity with another tool.  The \"wow\" isn't about the hammer used to create the house, but about the end product.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-27_04:26:39", "killed": false, "user_key": "e4cd45e28a14bc4725bf90be8d1b2f6d", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671965": {"up_voted": false, "ip": "", "has_replies": false, "message": "&gt; So, in three years Firefox has gotten about 30%. Translation: excitement! Wow!<br><br>You'll get no argument from me on that. I think browser competition, and competition in general, is clearly a good thing. Even if it's basic Coke/Pepsi (or AMD/Intel). Without competitors beating down Microsoft's door, we'd hardly get any new products at all from MS. Why do you think we had to wait so long for IE7?<br><br>But at the same time, without 95% market penetration fo IE, the XMLHttpRequest that IE pioneered (and is the backbone of AJAX and Web 2.0) wouldn't have reached mainstream status. The domination of IE6 finally killed off the legacy Netscape 4.7x codebase that was stifling innovation.<br><br><a href=\"http://www.codinghorror.com/blog/archives/000606.html\" rel=\"nofollow\">http://www.codinghorror.com/blog/archives/00060...</a><br><br>But more importantly-- and this was my point-- 90% of people use Windows, whether they run Firefox or IE (most Mac users run Safari). I guess the personal visits you made to 125 companies \"all over the world\" are somehow more representative than the w3schools stats? Where are all the people jumping ship from Windows, exactly?<br><br><a href=\"http://www.w3schools.com/browsers/browsers_stats.asp\" rel=\"nofollow\">http://www.w3schools.com/browsers/browsers_stat...</a><br><br>At current rates, Linux gains 0.2 percent market share per year, and Mac gains about 0.4 percent per year (although Mac was flat for 2006).<br><br>Also, what's up with all the vitriol in your comments, half of it dealt out by you? The signal to noise ratio out of hand here. You seem angry.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-27_02:02:12", "killed": false, "user_key": "51d623f33f8b83095db84ff35e15dbe8", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671966": {"up_voted": false, "ip": "", "has_replies": false, "message": "from a developer's side robert Microsoft has severely screwed up with Visual Studio / NET 3.0 / Vista / SP1 (VS for Vista). Just do a search on that and you'll see the rumblings of some very upset developers.<br><br>The whole implementation for being able to do WPF applications was haphazard at best IMO so really how can you expect developers to rush out programs to take advantage of WPF when their tools to do so don't work right.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-26_12:39:56", "killed": false, "user_key": "76bec42915def4e9ec9ea0b3a7630833", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671967": {"up_voted": false, "ip": "", "has_replies": false, "message": "Al, OK, so what \"wow's\" you about Microsoft lately? I have seen a lot of attacks but not a whole lot of disagreement. The only ones who are disagreeing are Microsoft employees, people who've been associated with Microsoft, MVPs, or people who are long-time fans. That's the WHOLE problem. Microsoft isn't convincing anyone else that it's important or relevant anymore -- at least in the Internet and advertising spaces, which are where most of Microsoft's future growth will come from (according to Kevin Johnson, Microsoft's president, when he spoke to our group).", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-26_12:29:40", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671968": {"up_voted": false, "ip": "", "has_replies": false, "message": "Sure, there is no expectation of private information. But for whatever reason blogger@wordpress did not want to explicitly reveal his/her relationship with Microsoft. (Which I personally do not think is a right thing to do, but that's his/her choice to make, whether to reveal his/her Microsoft relationship or not.)<br><br>Just in case, if it is too long ago I wrote my own identity here. I am a senior researcher in the Theory group at Microsoft Research Center in Redmond. My email address is first name, last initial at microsoft.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-27_00:39:18", "killed": false, "user_key": "ccda189c77625ecbecf9c4fd0481bdb9", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9671969": {"up_voted": false, "ip": "", "has_replies": false, "message": "Liz is right you don't wow us anymore!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-26_12:26:19", "killed": false, "user_key": "ff72424cfaf80900572429156c789a3d", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}}, "integration": {"receiver_url": "", "theme": 4, "reply_position": true, "disqus_logo": false}, "timer": {"timer_url": "http://localhost:8005", "thread_id": "18359512", "user_id": "anonymous", "forum_id": "125200", "hash": -3318864481745515497}, "thread": {"total_posts": 0, "paginate": false, "per_page": 0, "slug": "i_still_love_xbox_tabletpcs_media_center_halo_etc", "num_pages": 1, "days_alive": 0, "realtime_paused": true, "id": 18359512, "num_posts": 98, "closed": true, "queued": false, "killed": false}, "reactions_limit": 10, "context": {"show_reply": false, "use_fb_connect": true, "forum_facebook_key": "faaf467d0f47abde553c3b8e0e1b3570", "use_yahoo": false, "subscribed": false, "use_twitter_signin": true, "use_openid": false, "realtime_speed": 5000}, "reactions_start": 0, "settings": {"debug": false, "disqus_url": "http://disqus.com", "media_url": "http://media.disqus.com"}, "media_url": "http://media.disqus.com"};
	/* */ this.jsonData.cookie_messages = {"user_created": null, "post_has_profile": null, "post_twitter": null, "post_not_approved": null}; this.jsonData.session = {"url": null, "name": null, "email": null}; /* */

	
	this.curPageId = 'dsq-comments';

	this.frames = {};
};

var disqus_popup_reference = null;

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



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

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

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

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

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

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

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

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

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





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



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

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

	this._lastHash = null;

	this._accumMsg = '';

	this._lastSeqno = 0;

	this.MAX_DATA_LEN	= 1024;

	this.WAIT_TIME		= 10;

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

};

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

FragmentPacket.prototype.log = function(msg) {



};

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

		hash = this.reader.name;
	} else {

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

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

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

		this._lastSeqno = seqno;

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

				this._accumMsg = '';

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

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

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

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

};

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

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

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

	if (packetNum === 0) {

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

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

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

	if (num_packets === packetNum) {

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

	this._lastSeqno++;

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

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

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

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

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

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


	this.receiverId = receiverId;
};

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

	var listener = function(e) {

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


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

		that.receiveCallback(data);
	};

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

PostMessagePacket.prototype.send = function(msg) {



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


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

	var packet;
	if (!msg) {

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

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

var JsonRpc = function() {

	this.ids = {};

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

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

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

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

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

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

				json = 'null';
				break;
		}

		return json;
	};

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

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

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

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

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

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

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

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

		send_func(this.objectToJSON(request));

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

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


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



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


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


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

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

	this.packetHandler = null;


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


	var _createReceiverForFragmentPacket = function() {

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

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

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

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

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

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

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

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

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

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

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

			that._ready = true;
		};

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

		that.receiver.onload = receiver_onload;







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

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

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

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


	var _createReceiverForPostMessage = function() {

		var receiver_onload = function() {

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

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


		ParentMessenger['_receiver_onload_' + receiverId] = receiver_onload;

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

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

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

};

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

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

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

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

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

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

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

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

	var sendFunc = function(msg) {

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


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


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

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

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

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

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

		if (msg.username) {

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

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

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

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

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

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

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

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

	this.url = Dsq.Urls.REPLY +
		'?' + (new Date()).getTime() +
		'&f=scobleizer' +
		'&t=i_still_love_xbox_tabletpcs_media_center_halo_etc' +
		'&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/i_still_love_xbox_tabletpcs_media_center_halo_etc/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='	+ 'i_still_love_xbox_tabletpcs_media_center_halo_etc'
			+ '&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/i_still_love_xbox_tabletpcs_media_center_halo_etc/reply.html';
	this.REQUEST_USER_PROFILE = '/AnonymousUser/';
	this.REQUEST_USER_AVATAR = 'http://media.disqus.com/images/noavatar92.png';
};
// Dsq.Urls

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

		return [windowWidth, windowHeight];
	}

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

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

		return [scrollWidth, scrollTop];
	}

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

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

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

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

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

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

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

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

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

				form.appendChild(input);
			}
		}

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

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

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

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

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

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

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

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

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

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

		return params;
	};

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

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

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

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

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

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

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

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

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

	};

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

};
// Dsq.Utils

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

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

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

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

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

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

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

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

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

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

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

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

	};

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

		Dsq.Popup._closePopup(null, true);

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

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

		header = title;
		body = message;

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

	this.popAlert = this.popModal;

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

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

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

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

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

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

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

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

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

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

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

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

	};

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

		popup.style.display = 'block';

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

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

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

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

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

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

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

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

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

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

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

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

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

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

			return ret;
		};
	};

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

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

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

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


			//

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

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

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

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

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

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

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

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


	this.header = function() {

		var html = '\<h3 id="dsq-comments-count" class="dsq-h3-commentcount">\
	 <span id="dsq-num-posts">98</span> Comments\
	 &nbsp;\
	 <span class="dsq-item-feed">\
	 <a href="http://scobleizer.disqus.com/i_still_love_xbox_tabletpcs_media_center_halo_etc/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/i_still_love_xbox_tabletpcs_media_center_halo_etc/">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/i_still_love_xbox_tabletpcs_media_center_halo_etc/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:18359512" 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'				: 'i_still_love_xbox_tabletpcs_media_center_halo_etc',
			// 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/i_still_love_xbox_tabletpcs_media_center_halo_etc/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='	+ 'i_still_love_xbox_tabletpcs_media_center_halo_etc'
			+ '&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='	+ 'i_still_love_xbox_tabletpcs_media_center_halo_etc'
			+ '&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='		+ 'i_still_love_xbox_tabletpcs_media_center_halo_etc'
				+ '&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/18359512/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-9671969">\
	 <div id="dsq-comment-header-9671969" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671969" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9671969" href="http://alpascual.com/blog/al" target="_blank" rel="nofollow">Al Pascual</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671969" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671969" class="dsq-comment-message">Liz is right you don\'t wow us anymore!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671967">\
	 <div id="dsq-comment-header-9671967" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671967" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9671967" href="http://scobleizer.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671967" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671967" class="dsq-comment-message">Al, OK, so what "wow\'s" you about Microsoft lately? I have seen a lot of attacks but not a whole lot of disagreement. The only ones who are disagreeing are Microsoft employees, people who\'ve been associated with Microsoft, MVPs, or people who are long-time fans. That\'s the WHOLE problem. Microsoft isn\'t convincing anyone else that it\'s important or relevant anymore -- at least in the Internet and advertising spaces, which are where most of Microsoft\'s future growth will come from (according to Kevin Johnson, Microsoft\'s president, when he spoke to our group).</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671953">\
	 <div id="dsq-comment-header-9671953" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671953" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9671953" href="http://www.msmvps.com/glach" target="_blank" rel="nofollow">Matt (Xbox MVP)</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671953" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671953" class="dsq-comment-message">Robert, do you know about the new Xbox Rewards program?<br><br>It is set along the lines of achievements/gamerscore, in which you are "rewarded" with completing a challenge.  The current challenge is to raise your gamerscore by 1,500 points.  It is a first come, first serve for the prizes though.<br><br><a href="http://xboxrewards.msgamestudios.com/" rel="nofollow">http://xboxrewards.msgamestudios.com/</a></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671966">\
	 <div id="dsq-comment-header-9671966" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671966" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9671966" href="http://www.winextra.com/" target="_blank" rel="nofollow">Steven Hodson</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671966" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671966" class="dsq-comment-message">from a developer\'s side robert Microsoft has severely screwed up with Visual Studio / NET 3.0 / Vista / SP1 (VS for Vista). Just do a search on that and you\'ll see the rumblings of some very upset developers.<br><br>The whole implementation for being able to do WPF applications was haphazard at best IMO so really how can you expect developers to rush out programs to take advantage of WPF when their tools to do so don\'t work right.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671956">\
	 <div id="dsq-comment-header-9671956" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671956" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9671956">Keith Patrick</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671956" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671956" class="dsq-comment-message">I say again: ASP.Net 2.0<br>The 75% or so in code reduction is no lie.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671952">\
	 <div id="dsq-comment-header-9671952" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671952" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9671952" href="http://www.chrisg.com/" target="_blank" rel="nofollow">Chris Garrett</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671952" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671952" class="dsq-comment-message">Outside of gaming who *is* getting excited over Microsoft? Vista != WOW (unless you say it with teenage sarcasm voice).<br><br>I was a MVP, Aspinsider, community leader and other Microsoft development ra-ra-ra cheerleading type stuff. *Was* a long-term fan. Switched to Mac. I have never been happier.<br><br>Microsoft does do some things well. Doing things competently doesn\'t get people excited, let\'s see something *outstanding*!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671931">\
	 <div id="dsq-comment-header-9671931" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671931" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9671931" href="http://www.zazambia.com/" target="_blank" rel="nofollow">Marcelo Negrini</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671931" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671931" class="dsq-comment-message">I worked with Scoble at Microsoft Evangelism and now I am a Microsoft Partner. I agree with Robert. Expression rocks (seriuously, if you use Windows, download the trials, it\'s worth it), but the lack of Macintosh support and the delayed launch of WPF/E hurt adoption.<br><br>I think a bigger problem is how badly Microsoft distributes its own free technology today. Flash and JVMs are common today because of bundling with IE4 in the late nineties. In contrast, Microsoft always did a very bad job distributing all versions of the .NET Framework. Vista has .NET FX 3.0 out of the box, but Microsoft should be giving incentives for XP users to install it. Wide distribution and universality of the runtime environment is more important than the quality of the development tools.<br><br>And the final version of WPF/E should be as quick and simple to install as Flash Player. People upgrade Flash Player all the time, without even noticing. Adobe\'s secret: cool content - people are always willing to update Flash Player to see the latest Nike hotsite. WPF/E should be launched with some rocking early adopters to receive the same treatment.<br><br>Other than that, there\'s enough in Expression, WPF and WPF/E to wow even hardcore Adobe/Macromedia folks. However, there\'s inertia, and Microsoft needs to make clear why designers/developers need to learn yet another set of tools. I list below some reasons:<br><br>In my own experience, I think Expression Web is cleaner and more standards-oriented than Dreamweaver. Try for yourself.<br><br>Expression Blend is the best application prototyping/design environment I ever saw; version 1.0 won\'t support WPF/E (shame), so it will be more valuable for .NET desktop developers (corporate and ISV). Once WPF/E support is there, Adobe Flex will be an even weaker proposition than it is today. If Microsoft does a decent job of supporting other platforms and distributing WPF/E, there will be many Flash switchers out there.<br><br>Expression Design is a niche tool, but one that complements very well the arsenal of tools of any designer/developer; by using it the right way, combined with Expression Blend\'s resource dictionaries, you can design very sophisticated custom control palletes that can boost produtivity 10 times for complex interactive applications.<br><br>Expression media is a nice asset management tool, large studios and development teams will like it.<br><br>The weak spots? Besides the delays in WPF/E, one thing that takes a lot of the charm of Expression is the weak support of Visual Studio Team System.<br><br>With an universal Web-based runtime (WPF/E) correctly deployed and integration to Visual Studio Team System in place Microsoft can make a revolution in niches such as Internet Banking and E-Commerce. Problem is, there\'s no clear roadmaps for those to happen.<br><br>Finally, but this is too far-fetched to become a reality, Microsoft should partner with someone in the Java/PHP camp to develop XAML support in LAMP tools and Eclipse. It doesn\'t take genius to realize that it would help adoption of XAML and WPF/E as true standards.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671940">\
	 <div id="dsq-comment-header-9671940" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671940" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9671940">gregger</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671940" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671940" class="dsq-comment-message">I have been playing a lot with Windows Live Search for my phone... I\'m using it on my Cingular 8525.  I have to say that it\'s pretty nice for one spectacular reason:<br>Traffic.<br><br>It\'s way more accurate than Google traffic on my same device.  I don\'t like the traffic implementation in WLS Mobile as much (refreshes the whole map vs. an overlay), but it\'s accurate and precise (i.e. it actually has my freeway on it where Google does not).  Google traffic is just plain wrong or absent in many locations.<br><br>I drove through Marin, Oakland, Berkeley etc. all this weekend and knew where / when to go because of it.  I even went shopping in Petaluma using it (did a search, scrolled around as we drove to find the next destination).<br><br>I have a TrafficGauge for the Bay Area as well.  While its single-purpose use and interface is great, I travel a lot and need to take the traffic with me.  North Marin isn\'t represented either.<br><br>Also, WPF/E is going to be good.  As a company, we\'re looking at "what\'s next" for our UI, and we\'re pondering not going to WPF at all, but writing everything as WPF/E.  That way we support a broader audience.<br><br>I\'ve also been working a lot with MOSS in the wiki and blogging functions.  There is a lot of value there, but it\'s a little off the mark.  I wish the commentary aspect of the wiki from wikimedia was in MOSS.  There\'s no reason for it not to be.  It\'s the missing collaborative element.<br><br>The wiki/blog experience has been mind-opening at the company though... I\'m the lone crusader so far, but it\'s winning people over despite the complaints over structure etc.  The fact it\'s baked into sites right next to other SharePoint functions is huge.<br><br>TTFN</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671942">\
	 <div id="dsq-comment-header-9671942" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671942" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9671942" href="http://tomrafteryit.net/" target="_blank" rel="nofollow">Tom Raftery</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671942" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671942" class="dsq-comment-message">Windows Live Writer is not bad (apart from the fact that it only runs on Windows!)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671943">\
	 <div id="dsq-comment-header-9671943" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671943" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9671943" href="http://dotnetjunkies.com/WebLog/paul/" target="_blank" rel="nofollow">paul</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671943" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671943" class="dsq-comment-message">A quick Google for Flip flop and guess who is the #1 result?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671957">\
	 <div id="dsq-comment-header-9671957" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671957" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9671957" href="http://www.codinghorror.com/blog/" target="_blank" rel="nofollow">Jeff Atwood</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671957" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671957" class="dsq-comment-message">&gt; Microsoft isn’t convincing anyone else that it’s important or relevant anymore — at least in the Internet and advertising spaces<br><br>Really? So startups are writing web sites that work only on Firefox and Safari and fail to load in IE6 or IE7? So web-based spreadsheets can be incompatible with Excel files?<br><br>Define "important". Define "relevant".<br><br>Microsoft has problems, but they\'re standard big company problems. The battleship doesn\'t turn fast enough.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671959">\
	 <div id="dsq-comment-header-9671959" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671959" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9671959">Goebbels</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671959" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671959" class="dsq-comment-message">Jeff, only a Microsoft fanboy would think important means locking out the competition.<br><br>Microsoft\'s "importance" problem is that it continues to lock out competitors despite its claim of potential platform independencies.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671958">\
	 <div id="dsq-comment-header-9671958" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671958" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9671958" href="http://scobleizer.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671958" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671958" class="dsq-comment-message">Jeff and Keith: I think I get where we\'re having a disconnect.<br><br>Let\'s separate out status quo from where Microsoft (or the software industry) will see growth.<br><br>That\'s why I don\'t think SQL Server, or new features on MSN Messenger, or Windows Vista/Office are all that exciting. Microsoft simply won\'t see much growth from those (at least not more than the growth rates they have seen for the last four years, which is why the stock market has only increased Microsoft\'s stock around 20% since I became a Microsoft employee).<br><br>When I say "relevant" or "interesting" I\'m looking for growth prospects. Things that are different today than yesterday. Or things that\'ll get developers to switch from Google, or Adobe, or Apple and toward Microsoft stuff (or vice versa).<br><br>ASP.NET 2.0? Not interesting, even though there are millions of people using it (and who, even, love it). I just don\'t see it growing Microsoft\'s market that much. Now, you might disagree, and I\'d love to hear your reasons (they make good fodder when I interview people involved in the Linux industry).<br><br>When I say I see a lot of people moving away from Microsoft approaches and/or that Ray Ozzie\'s silence is growing louder, that\'s what I\'m talking about.<br><br>And, internally, Kevin Johnson told us that Microsoft\'s future growth will come on Internet and advertising. That\'s Microsoft\'s own leadership saying that. He knows what field the ball is on. ASP.NET might play a role there, but they haven\'t shown developers yet how the ball gets into the goal with ASP.NET or WPF yet.<br><br>Tomorrow Adobe is doing a big show and tell. It\'ll be interesting to see what comes out of that, and then what Microsoft does to keep developers on its team.<br><br>It\'s interesting that despite having tens of thousands of readers, including many influential developers from around the world, that the above 12 comments are the best that Microsoft can garner.<br><br>This is a street fight over developers and the developers are leaving for Amazon, Google, and Adobe. How do I know that? I just interviewed a ton of them and I read 600 of the world\'s most interesting tech blogs and I haven\'t seen anyone really dispute that in any real way. I know Ray Ozzie is reading this stuff (Mini sure is, he linked this morning).<br><br>I guess we\'ll have to wait until May to hear what Microsoft is doing for developers. The posts above show the developers are restless at minimum and are actively leaving the Microsoft camp at worst. Either story is not good for Microsoft long term.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671929">\
	 <div id="dsq-comment-header-9671929" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671929" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9671929" href="http://neverness.wordpress.com/" target="_blank" rel="nofollow">neverness</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671929" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671929" class="dsq-comment-message">I think their biggest problems are twofold:<br>1. A lot of the people developing on the web either use LAMP or they develop their stuff on the mac. They are fighting a fight up the hill against people that just don\'t trust MS anymore. F.i. @ 8 Marcello makes the remark that in his opinion expression is more standards oriented than Dreamweaver. It\'s nice to note that, but making claims that Microsoft is more standards compliant than whatever what will always be related to the bad rep they\'ve got with respect to their implementation of standards in IE. Most developers only for that reason have an aversion against MS. (it has costed them time which is valuable). Let\'s not forget that this company also gave us frontpage and the frontpage extensions... There are indeed a lot of .Net programmers out there, but most of them reside in the enterprise.<br>2. It\'s great to use the MS tools when you\'re in an all MS environment. But outside of it, most stuff won\'t work. WPF/E might be great, but unless I can develop for it using the environment I\'m comfortable with, and run it i won\'t even bother to investigate it.<br><br>I can understand why they take the route they take, and it makes perfect sense, but also don\'t expect the web people to invest a lot of time in learning new tools and environments.<br><br>With regards to the Wow factor, the last time i had the wow was when i read the bare specs of the Zune. (Actually I really liked the WiFi part, but they ruined it later on with their implementation).<br><br>One thing I\'ve noted is that they start very early in the process talking about their stuff, but delivery seems to take a very long time. (And I\'m not talking about Vista). My take is that they should keep the marketing people out of the door as is possible and put stuff very fast out on the market as far as the web is concerned. Something like photosynth is nice, but they showed it last year, wowed a lot of people and now when they put it to the market the real wow factor is gone with those that influence..</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671938">\
	 <div id="dsq-comment-header-9671938" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671938" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9671938" href="http://blog.macb.net" target="_blank" rel="nofollow">macbeach</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671938" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671938" class="dsq-comment-message">NEVER trust someone to be objective about their employers products vs alternatives.  It\'s not human nature, it\'s certainly not smiled upon by most companies, and there are always more objective sources to go to.<br><br>It *is* useful to have an insiders perspective on a company, and for such insiders to establish their credibility they have to avoid statements that are verifiably false.  But there is certainly no dearth of people willing and able to speak up on behalf of Microsoft, including people who have relatives on the payroll at the Washington Post.<br><br>View the comments for this article, written by Bill gates:<br><br><a href="http://www.washingtonpost.com/wp-dyn/content/article/2007/02/23/AR2007022301697.html" rel="nofollow">http://www.washingtonpost.com/wp-dyn/content/ar...</a><br><br>What you\'ll find is that among ordinary people, not technogeeks (well some of those in there too including mine) people\'s opinions about Microsoft are almost uniformly negative.  Even when Bill Gates makes several statements that most people would agree with, we almost universally question his motives.<br><br>Actions speak louder than words.  We all know that.  What the world waits for is some indication, not an open letter or a press release, that the company has changed its attitude about how it competes, and how its products fit into the vast world of technology.<br><br>The insatiable, palpably pathological urge for a few top executive to dominate, rather than just contribute to the "technosphere" worries the average informed person, and with good reason.  What is needed is for these tendencies to not just be curbed, but *eliminated*.<br><br>Still watching for signs of (real) change.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671934">\
	 <div id="dsq-comment-header-9671934" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671934" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9671934" href="http://hailsky.wordpress.com/" target="_blank" rel="nofollow">hailsky</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671934" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671934" class="dsq-comment-message">How can you get excited about Vista. I think its the Dumbest thing Microsoft has made.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671933">\
	 <div id="dsq-comment-header-9671933" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671933" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9671933">Keith Patrick</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671933" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671933" class="dsq-comment-message">"When I say “relevant” or “interesting” I’m looking for growth prospects."<br><br>Speaking of "Wow"...Wow, Robert\'s become an insurance salesman!<br>It sounds like you\'re loading the semantics of the question to support your theory that MS doesn\'t have anything exciting. If "wow" is about market potential, fine, but that\'s not what excites me as a developer. But on the other hand, I say that ASP.Net is an exciting technology because it reduces my app\'s code by 75%, yet you say developers have to wait until May to see what MS is doing for us.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671936">\
	 <div id="dsq-comment-header-9671936" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671936" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9671936">Who Knew</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671936" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671936" class="dsq-comment-message">"This is a street fight over developers and the developers are leaving for Amazon, Google, and Adobe. How do I know that? I just interviewed a ton of them and I read 600 of the world’s most interesting tech blogs and I haven’t seen anyone really dispute that in any real way."<br><br>...and you somehow didnt realize this while you were interviewing developers at Microsoft and reading 400 of the world\'s interesting tech blogs?  This isnt breaking news - developers and smart people in general have been leaving MS in droves post 1999.  Yet we kept getting the same informercial drivel in your blog.  Either you were too dumb to notice (not likely) or you chose not to rock the boat.<br><br>Lots of people at the time were saying that you had a credibility issue with regards to Longhorn.  It could be because you were absolutely adament on a seemingly daily basis that Longhorn was the greatest thing since canned corn. You even blogged about having built your life around it.  Now that you away from MS and you actually have to live with Window\'s issues and shortcomings and cant just call a team\'s war room to get the bugs that bother you fixed, the world seems a bit different.<br><br>You speak of a disconnect. The real disconnect is that you dont seem willing to bet your own paycheck and/or reputation on vista infrastructure for video editing but you\'ve asked us to do exactly that for years.  See the problem?<br><br>Actually having to pay for stuff also changes perspectives of MS products from most of the ex-MS employees that I know.   But that may not apply to you....have you returned those editing machine "loans" that you are "reviewing" by editing your day-to day videos yet?  If not, then tell me again how they will be returned "soon" and/or how open-ended "loans" are different from ethically wrong gifts.<br><br>WhoKnew</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671932">\
	 <div id="dsq-comment-header-9671932" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671932" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9671932">blogger@wordpress</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671932" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671932" class="dsq-comment-message">@14<br><br>"It’s interesting that despite having tens of thousands of readers, including many influential developers from around the world, that the above 12 comments are the best that Microsoft can garner."<br><br>It\'s very tiring to stand up for Microsoft everytime. I mean, it doesn\'t matter what the real issue is - there are more MS bashers in the blogosphere(blogger and commentors) than people who comment based on an issue. So quite of a lot of vocal technically sound MSFT employees simply have given up trying to refute each and every anti-MSFT thing. But that doesn\'t mean they all agree with that.<br><br>However i agree with the rest of your comments. There isn\'t enough internet focus currently. I would think of 2 reason for that<br><br>1) Until very recently almost everyone inside MSFT didnt get online. They viewed it as a passing fad. The Netscape experience kept telling everyone that its a matter of time before MSFT wins again.<br><br>2) By the time \'the online is future\' realization happened - VISTA was draining energies so that added to some more slowness. Think of all the screwups frmo MSFT in the last 18-24 months and see how you can trace the roots to VISTA for most of them.<br><br>But again, irrespective of the platform Microsoft hardly won anything with a \'WOW\'. It was just relentless pursuit and \'Version 3\' softwares. I do see quite subtle changes that indicate the online is future realization inside the company. (Today Microsoft is announcing acquisition of a medical search company and its foray in to the healthcare verticals. As per the early reports it really looks like a service based approach)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671920">\
	 <div id="dsq-comment-header-9671920" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671920" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9671920">Smeagol</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671920" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671920" class="dsq-comment-message">And her opinion matters, why?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671922">\
	 <div id="dsq-comment-header-9671922" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671922" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9671922" href="http://scobleizer.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671922" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671922" class="dsq-comment-message">Smeagol: because Liz is an influential person in the world I live in.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671923">\
	 <div id="dsq-comment-header-9671923" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671923" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9671923" href="http://scobleizer.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671923" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671923" class="dsq-comment-message">WhoKnew: what loans are you talking about? All of our Macintoshes are purchased. I purchased my own machines too.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671924">\
	 <div id="dsq-comment-header-9671924" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671924" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9671924" href="http://www.codinghorror.com/blog/" target="_blank" rel="nofollow">Jeff Atwood</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671924" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671924" class="dsq-comment-message">&gt; When I say “relevant” or “interesting” I’m looking for growth prospects.<br><br>How do you grow when you have 95% market share? That\'s true of PCs and Internet Explorer. And the only people that care about growth anyway are stock market analysts. Boring. I\'m more interested in making better use of what we already have.<br><br>&gt; Things that are different today than yesterday.<br><br>No shortage of new stuff coming out of Redmond. Good lord-- Windows, Vista, Office 12, the whole VS 2005 stack and the out-of-band additions like ATLAS, .NET 3.0, WPF (reinventing the GUI on Windows) and so forth. It\'ll take a DECADE to absorb it all.<br><br>&gt; Or things that’ll get developers to switch from Google, or Adobe, or Apple and toward Microsoft stuff (or vice versa).<br><br>I\'ve used Google to search since 2000. I doubt that will ever change. I\'ve used a Windows OS since 1993. Ditto.<br><br>Why is this a zero-sum game? Why does growth of one have to come at the expense of the other? Google is an advertising company. Microsoft isn\'t. And frankly, the all-advertising-all-the-time future predicted by Google\'s business model scares me a lot more than anything else:<br><br><a href="http://www.codinghorror.com/blog/archives/000772.html" rel="nofollow">http://www.codinghorror.com/blog/archives/00077...</a></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671872">\
	 <div id="dsq-comment-header-9671872" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671872" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9671872" href="http://scobleizer.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671872" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671872" class="dsq-comment-message">Blogger: interesting that your IP address shows you working at Microsoft. Why don\'t you just be honest about what and who you are?<br><br>Jeff: Microsoft +is+ an advertising company. Billions of dollars of its revenue come from advertising (and, Kevin Johnson, Microsoft\'s President, told my group back when I still worked at Microsoft, that most of its growth would come from advertising. So, he clearly is very focused on the advertising world).</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671873">\
	 <div id="dsq-comment-header-9671873" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671873" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9671873" href="http://scobleizer.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671873" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671873" class="dsq-comment-message">Hailsky: Vista has better networking, better audio, better UI, better search, better game APIs, better .NET runtimes, better Tablet PC and handwriting, better media center stuff, better speech APIs and apps, and a lot more that\'s better about it when compared to XP. How can you still be excited by XP?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671874">\
	 <div id="dsq-comment-header-9671874" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671874" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9671874" href="http://scobleizer.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671874" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671874" class="dsq-comment-message">Jeff: &gt;&gt;How do you grow when you have 95% market share? That’s true of PCs and Internet Explorer.<br><br>PC market share has been going down quite a bit lately. I believe Apple\'s latest share is about 10%. Internet Explorer\'s share, on most blogs, is less than 50% now.<br><br>So, you\'ve EXACTLY demonstrated my point: people are moving away from Microsoft. Certainly not a good equation for growth.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671875">\
	 <div id="dsq-comment-header-9671875" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671875" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9671875" href="http://marcd.spaces.live.com/" target="_blank" rel="nofollow">Marc Dencker</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671875" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671875" class="dsq-comment-message">THE coolest thing:<br>go to <a href="http://wls.live.com" rel="nofollow">http://wls.live.com</a><br>it works on wm5 and wm6 and JME<br><br>start the search app, do choose a new location, choose from contacts, go to a random contact in your contact list,<br><br>enter starbucks in the field for what\'s your looking for and there you go.<br>it also provides traffic info, direction info and it works with your GPS in your phone (if you have one)<br><br>truely amazing......</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671917">\
	 <div id="dsq-comment-header-9671917" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671917" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9671917">blogger@wordpress</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671917" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671917" class="dsq-comment-message">@25, Yes i work at microsoft. I don\'t hide that. In fact i thought it was fairly obvious from my comments that i work for Microsoft. Besides, Even if i were to tell my name you wouldn\'t recognize me.<br><br>(I don\'t think i have enough interesting things to say yet to have an active blog and establish an online profile.)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671910">\
	 <div id="dsq-comment-header-9671910" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671910" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9671910" href="http://darrenstuart.com/" target="_blank" rel="nofollow">Darren Stuart</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671910" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671910" class="dsq-comment-message">as a developer that uses <a href="http://asp.net" rel="nofollow">asp.net</a> 2.0 every day I have to say I love it. The more you scratch the surface of it the more cool things you find.<br><br>When creating content driven sites I would say you can get a lot more done in visual studio 2005 quicker than any lamp toolset.<br><br>I think Microsoft need to rethink their websites. Their  online office live suite is crap and way to expensive for what it is. With the power of <a href="http://ajax.net" rel="nofollow">ajax.net</a> and .net 3.0 they should be able to offer a much better feature rich online office version that would kick googles ass!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671911">\
	 <div id="dsq-comment-header-9671911" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671911" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9671911">Ross</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671911" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671911" class="dsq-comment-message">Jeff@24 said "ATLAS, .NET 3.0, WPF (reinventing the GUI on Windows) and so forth. It’ll take a DECADE to absorb it all."<br><br>It\'ll also probably take a decade for Microsoft to finish WPF.  Rushed out of the door with 3.0 in order to meet the artifical Vista deadline - and quite possibly over-engineered (it\'s Microsoft, I wish I could expect different).  Working on the Microsoft platform has gone harder, not easier in the past couple of years.  For those of us in small companies trying to keep up with all of that output is a full-time job in itself.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671927">\
	 <div id="dsq-comment-header-9671927" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671927" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9671927" href="http://devarr.wordpress.com/" target="_blank" rel="nofollow">Chris</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671927" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671927" class="dsq-comment-message">We all love XBox.<br><br>except for Xbox360 families. They love 360\'s.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671928">\
	 <div id="dsq-comment-header-9671928" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671928" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9671928">Christopher Coulter</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671928" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671928" class="dsq-comment-message"><i>vista infrastructure for video editing</i><br><br>Oh it\'s very functional, Adobe, Grass Valley, Discreet (AutoDesk), the Avid family, Pinnacle, Sony Vegas, and getting a hecko-kick outta the new SpeedEdit. The fact that some people go Final Cutty, doesn\'t cancel out the Windows (and now Vista) infrastructure. And then all the Intelified Workstations, i.e. 3DBOXX RTX and the hybrid stuff like the Casablanca Liberty and capturey stuff like Matrox RT.X2. It could well be argued that the Windows infrastructure is FAR more mature and developed. But Mac is finally expanding outside of the Final Cut only mode, Avid and others tossing hats in ring. So Mac or PC, doesn\'t much matter. The tools really aren\'t the focus, that\'s all pointless shop talk, the outputted content is the key. But saying Vista isn\'t up to video editing tasks is just playing politics.<br><br>PS - The only beef I have with "Macs", has zero to do with Apple, it\'s Sony, in refusing to make Vegas avail. on OSX.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671916">\
	 <div id="dsq-comment-header-9671916" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671916" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9671916" href="http://blog.kirupa.com/" target="_blank" rel="nofollow">Kirupa</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671916" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671916" class="dsq-comment-message">Robert, you are focusing too narrowly on blog writers/audience and companies who you interview as being representative of the entire industry. Your comment on the marketshares underscores that quite well.<br><br>Just because I don\'t see people using products from company A, B, and C does not mean I am going to conclude that people are moving away from companies A, B, and C. My friends may be, but my friends are hardly representative of the rest of the world.<br><br>Cheers!<br>Kirupa</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671912">\
	 <div id="dsq-comment-header-9671912" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671912" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9671912" href="http://www.codinghorror.com/blog/" target="_blank" rel="nofollow">Jeff Atwood</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671912" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671912" class="dsq-comment-message">&gt; So, you’ve EXACTLY demonstrated my point: people are moving away from Microsoft.<br><br>Have I? I think you demonstrated your point by making a completely unsupported statement. Or didn\'t, rather.<br><br><a href="http://www.w3schools.com/browsers/browsers_stats.asp" rel="nofollow">http://www.w3schools.com/browsers/browsers_stat...</a><br><br>IE share is relatively stable, once you factor in IE7.<br><br>And absolutely Windows dominates. According to that OS stats on that same page, "The Windows family accounts for nearly 90%".<br><br>Maybe not on the 37signals blog (duh). But outside the silicon valley startup bubble, computers are tools, not a fashion statement.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671914">\
	 <div id="dsq-comment-header-9671914" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671914" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9671914" href="http://fatihiraz.wordpress.com/" target="_blank" rel="nofollow">fats</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671914" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671914" class="dsq-comment-message">Microsoft has problems, but they’re standard big company problems. The battleship doesn’t turn fast enough.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671899">\
	 <div id="dsq-comment-header-9671899" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671899" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9671899">Viraj</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671899" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671899" class="dsq-comment-message">Robert, here\'s your chance to hear Ray speak:<br><br>Q&amp;A at Goldman Sachs Technology Investment Symposium<br><br>Ray Ozzie will discuss Microsoft’s approach to software, services, and related topics on February 27 at 8:00 a.m. PT at the Goldman Sachs Technology Investment Symposium in Las Vegas. Ray will participate in a Q&amp;A session with Goldman Sachs analyst Rick Sherlund and take questions from the investor audience. The session will be audiocast live on <a href="http://Microsoft.com" rel="nofollow">Microsoft.com</a>, where a replay and transcript will be available following the event.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671890">\
	 <div id="dsq-comment-header-9671890" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671890" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9671890" href="http://scobleizer.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671890" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671890" class="dsq-comment-message">Jeff: I\'ve met with more than 125 companies all around the world and these trends have nothing to do with Silicon Valley startup bubbles.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671891">\
	 <div id="dsq-comment-header-9671891" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671891" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9671891" href="http://scobleizer.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671891" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671891" class="dsq-comment-message">Kirupa: I\'ve also met with CTOs of some very big companies and big compute organizations in the past few years. I don\'t see any new love for Microsoft there, either. CERN, for instance, has one of the world\'s largest computing grids being built and it\'s non-Microsoft.<br><br>It\'s interesting that the tactic used here is "attack the messenger" and not "put up some decent arguments."<br><br>Darren: If Visual Studio is such a great tool how come almost none of the Office or Windows developers who work at Microsoft use it? If it\'s so much more productive than other approaches, why doesn\'t Microsoft ITSELF bet on that tool?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671892">\
	 <div id="dsq-comment-header-9671892" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671892" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9671892" href="http://scobleizer.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671892" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671892" class="dsq-comment-message">Jeff: regarding IE marketshare. It\'s down to 70% based on that stat. On other stats I\'ve seen it\'s lower than 50%. You had the right number for 2003. IE used to own 95% of the marketshare. So, in three years Firefox has gotten about 30%. Translation: excitement! Wow!<br><br>Growth.<br><br>You nailed it. You just had two-year-old numbers. Notice which way the wind is blowing. That\'s what I\'m looking at.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671893">\
	 <div id="dsq-comment-header-9671893" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671893" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9671893" href="http://scobleizer.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671893" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671893" class="dsq-comment-message">Chris: I use FinalCut Pro because that\'s what the videobloggers I know, who I wanted to hire as editors (Ryanne and Jay) were familiar with and recommended. I used to edit Channel 9 in Windows Movie Maker. The quality I\'m getting out of FinalCut is a lot better (due to better codecs more than anything) and FinalCut is a lot more flexible. But, you\'re right. I could use Windows too. It\'s just that the influencers in this world are heavily Mac, so I went with what they were using.<br><br>Fun thing about a Mac, though. It can also run Vista. :-)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671888">\
	 <div id="dsq-comment-header-9671888" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671888" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9671888" href="http://scobleizer.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671888" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671888" class="dsq-comment-message">Marc: that sounds cool. I\'ll have to try it out with my phone.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671896">\
	 <div id="dsq-comment-header-9671896" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671896" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9671896">Colby</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671896" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671896" class="dsq-comment-message">Browser share?  What is this, 1998?  Who gives a damn?  Microsoft should drop IE altogether and bundle Firefox (instantly making it the number 1 attack target), because browser share is irrelevant.<br><br>Robert, your definition of "wow" is GoogleReader.  Nobody I personally know gives a rip about it.  It\'s just one more web service.  Useful, but not WOW by any stretch of the imagination, except for people that worship the WEB.<br><br>You know what really WOWs me?  PodTech.  /sarcasm</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671894">\
	 <div id="dsq-comment-header-9671894" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671894" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9671894">Colby</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671894" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671894" class="dsq-comment-message">I forgot to add:<br>This blog entery is just one more exercise in your narcisism.  Who cares what you hyped when?  Your opinion is no better than anyone elses.  This "a-list" crap is just an example of elitism taken to the extreme.  Guess what - the "a-list" bloggers are only considered "a-list" by other "a-list" bloggers.  Nobody else cares, nobody else regards your opinions as Gospel.  Only the self-proclaimed "a-listers" think they know everything about everything.  In truth, you "a-listers" know close to nothing about everything, but you speak within an echo-chamber with which you\'ve deluded yourselves into thinking that you\'re some kind of authorities or philosopher-kings regarding tech.  You\'re not.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671895">\
	 <div id="dsq-comment-header-9671895" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671895" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9671895" href="http://watex.wordpress.com/" target="_blank" rel="nofollow">watex</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671895" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671895" class="dsq-comment-message">WOW. You are just like me! Check out my site, you\'ll like it.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671887">\
	 <div id="dsq-comment-header-9671887" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671887" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9671887">John</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671887" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671887" class="dsq-comment-message">Robert, I know you\'re not in the loop anymore being on the outside, but the next version of Office appears to have some cool stuff in it.  I won\'t go so far as to say "wow" because frankly the Vista ads have killed that word for me.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671883">\
	 <div id="dsq-comment-header-9671883" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671883" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9671883" href="http://www.bynkii.com/" target="_blank" rel="nofollow">John C. Welch</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671883" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671883" class="dsq-comment-message">You know what\'s making me say "Wow" about Microsoft today?<br><br>Their utterly asinine line of bullshit about virtualization, and their ridiculous "Oh, Virtualization is too new so we limit it to protect you"<br><br>Um...a sphincter says what? Virtualization is over ten years old on non-mainframes, FAR older on mainframes.<br><br>So it\'s making me say "Wow" all right.<br><br>Followed by "What a bunch of dumbasses"</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671897">\
	 <div id="dsq-comment-header-9671897" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671897" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9671897" href="http://clwill.com/" target="_blank" rel="nofollow">Chris Williams</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671897" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671897" class="dsq-comment-message">@44<br><br>Gee, Colby you\'re reading his blog, you\'re commenting (twice) on his blog... must be something here...</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671876">\
	 <div id="dsq-comment-header-9671876" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671876" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9671876" href="http://clwill.com/" target="_blank" rel="nofollow">Chris Williams</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671876" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671876" class="dsq-comment-message">You know the sad part about this is that MS has always had contingents of people who want to buy into standards, who want to make things that work across platforms, who recognized the world was bigger.  When I ran the Visual C++ business, we had one of the best Mac compilers in the business, and backends for all kinds of platforms.  It got squished by the "if it ain\'t proprietary, it\'s wrong" crowd.  Bummer.<br><br>MS still makes some of the best dev tools around, for their platform, with one of the smartest teams in the compiler game.  Too bad they only work on the one architecture.<br><br>Oh and Robert, *everyone* at MS uses the Visual Studio compiler (to my knowledge), some use the VS editors, but you are right, virtually none use it as a "suite".  Their build teams all use the command line tools to build their products every night.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671878">\
	 <div id="dsq-comment-header-9671878" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671878" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9671878">Keith Patrick</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671878" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671878" class="dsq-comment-message">Robert, what do most MS developers use to develope software? I figured since they use MSBuild and that they were once touting XP being compiled with the MS C++ compiler\'s anti-buffer-overrun flag, and that it would be free (not to mention one of the few .Net IDEs, although only a portion of MS apps are written in .Net), VS.Net would be the MS compiler of choice. I know 2005 was pretty unstable preSP1, even though the functional portions of the IDE (and the 2.0 release of .Net in particular) are very good, so I\'m curious what would drive MS en masse away from the de facto tool for writing Windows apps.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671882">\
	 <div id="dsq-comment-header-9671882" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671882" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9671882">Kamal Jain</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671882" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671882" class="dsq-comment-message">Robert@25, you released blogger@wordpress personal information (his/her IP address) which is only available to you and he/she did not explictly want to make it public.<br><br>You also collect email address from every commentator on your blog. Such as my email address. This is purely for your information and in a normal case you should not release it for public consumption.<br><br>Of course, I understand that your blog is provided as is with no guarantee of any kind including any privacy expectation. But why break somebody\'s trust for no reason? Eventually it may decrease readers\' trust in you too:-)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671880">\
	 <div id="dsq-comment-header-9671880" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671880" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9671880" href="http://scobleizer.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671880" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671880" class="dsq-comment-message">Kamal: good point. You should be aware that I can see the IP address you post from. Just like every <a href="http://Wordpress.com" rel="nofollow">Wordpress.com</a> blogger can. That can\'t be considered private information and if someone has an expectation of such, then they simply don\'t understand how the Internet works.<br><br>As to email addresses. I can see those, but only for current posts. I don\'t collect them.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671881">\
	 <div id="dsq-comment-header-9671881" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671881" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9671881" href="http://scobleizer.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671881" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671881" class="dsq-comment-message">Keith: Visual Studio shares the same compiler that they use on Windows, but when I think of Visual Studio I\'m thinking of the IDE, not just the compiler.<br><br>Most devs I met at Microsoft use command-line tools.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671879">\
	 <div id="dsq-comment-header-9671879" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671879" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9671879" href="http://scobleizer.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671879" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671879" class="dsq-comment-message">#43: you should have seen all the bloggers posting how many more feed readers all of a sudden showed up when Google Reader reported how many subscribers it had. TechCrunch alone went up about 100,000 readers, so SOMEONE is using Google Reader.<br><br>#44: of course you\'re right. Instead we\'re all listening to you and your wonderful insights about the tech industry. Where\'s your blog again?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671968">\
	 <div id="dsq-comment-header-9671968" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671968" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9671968">Kamal Jain</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671968" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671968" class="dsq-comment-message">Sure, there is no expectation of private information. But for whatever reason blogger@wordpress did not want to explicitly reveal his/her relationship with Microsoft. (Which I personally do not think is a right thing to do, but that\'s his/her choice to make, whether to reveal his/her Microsoft relationship or not.)<br><br>Just in case, if it is too long ago I wrote my own identity here. I am a senior researcher in the Theory group at Microsoft Research Center in Redmond. My email address is first name, last initial at microsoft.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671961">\
	 <div id="dsq-comment-header-9671961" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671961" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9671961" href="http://scobleizer.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671961" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671961" class="dsq-comment-message">Kamal: I hate anonymity. Anyone posting here knows that. Also, anyone smart will know that your IP address is being reported to the site\'s owner. I assume Microsoft hires smart people. Therefore <a href="mailto:blogger@wordpress.com" rel="nofollow">blogger@wordpress.com</a> shouldn\'t have expected that to remain private.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671948">\
	 <div id="dsq-comment-header-9671948" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671948" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9671948">blogger@wordpress</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671948" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671948" class="dsq-comment-message">"did not want to explicitly reveal his/her relationship"<br><br>I don\'t get this. It\'s not like i lied about where i work. Nor did i claim i didn\'t have any relationship with Microsoft. Also I have not used or misused the anonymity ever.<br><br>This topic simply didn\'t come up at all. The first time it came up was in this comment stream - I responded with a straight answer.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671945">\
	 <div id="dsq-comment-header-9671945" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671945" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9671945">blogger@wordpress</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671945" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671945" class="dsq-comment-message">"Therefore <a href="mailto:blogger@wordpress.com" rel="nofollow">blogger@wordpress.com</a> shouldn’t have expected that to remain private."<br><br>I didn\'t.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671946">\
	 <div id="dsq-comment-header-9671946" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671946" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9671946" href="http://clubpenguinstash.wordpress.com/" target="_blank" rel="nofollow">jordandash</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671946" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671946" class="dsq-comment-message">its good jadan from joshua R</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671960">\
	 <div id="dsq-comment-header-9671960" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671960" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9671960">Raj</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671960" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671960" class="dsq-comment-message">Here is my Wow list from Microsoft<br><br>I like the Windows Live for mobile over google offering<br><br>Windows Live Mail Desktop (lets me add Hotmail, Gmail and Yahoo in a single client)<br><br>I like the new UI of Windows Live Mail (I not sure whether you have used it, specially it lets you change the themes on fly)<br><br>I like the Photosynth technology<br><br>I like the new redesign UI of Microsoft Office 2007 (especially the part that I can blog from Microsoft Word in Office 2007)<br><br>I like the Windows Live for TV Beta<br><br>I like WPF/E and like the fact that it can run on my Macbook pro<br><br>I like beta of Windows Home Server (I think it will be a cool technology, It is coming this year)<br><br>I like the fact that I will be able to play with Xbox  Live games on Vista<br><br>I like Hallo 3 Beta, It rocks<br><br>UniveRSS - a 3D Vista RSS reader</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671965">\
	 <div id="dsq-comment-header-9671965" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671965" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9671965" href="http://www.codinghorror.com/blog/" target="_blank" rel="nofollow">Jeff Atwood</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671965" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671965" class="dsq-comment-message">&gt; So, in three years Firefox has gotten about 30%. Translation: excitement! Wow!<br><br>You\'ll get no argument from me on that. I think browser competition, and competition in general, is clearly a good thing. Even if it\'s basic Coke/Pepsi (or AMD/Intel). Without competitors beating down Microsoft\'s door, we\'d hardly get any new products at all from MS. Why do you think we had to wait so long for IE7?<br><br>But at the same time, without 95% market penetration fo IE, the XMLHttpRequest that IE pioneered (and is the backbone of AJAX and Web 2.0) wouldn\'t have reached mainstream status. The domination of IE6 finally killed off the legacy Netscape 4.7x codebase that was stifling innovation.<br><br><a href="http://www.codinghorror.com/blog/archives/000606.html" rel="nofollow">http://www.codinghorror.com/blog/archives/00060...</a><br><br>But more importantly-- and this was my point-- 90% of people use Windows, whether they run Firefox or IE (most Mac users run Safari). I guess the personal visits you made to 125 companies "all over the world" are somehow more representative than the w3schools stats? Where are all the people jumping ship from Windows, exactly?<br><br><a href="http://www.w3schools.com/browsers/browsers_stats.asp" rel="nofollow">http://www.w3schools.com/browsers/browsers_stat...</a><br><br>At current rates, Linux gains 0.2 percent market share per year, and Mac gains about 0.4 percent per year (although Mac was flat for 2006).<br><br>Also, what\'s up with all the vitriol in your comments, half of it dealt out by you? The signal to noise ratio out of hand here. You seem angry.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671962">\
	 <div id="dsq-comment-header-9671962" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671962" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9671962" href="http://scobleizer.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671962" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671962" class="dsq-comment-message">Jeff: huh? I just went back and looked at my last five comments. I can\'t see any anger. Do you project this on anyone who tries to have a debate with you?<br><br>Actually, Apple\'s Mac market share went up a few percent in last quarter to a little more than 6%, according to articles I just found via Google. But, point taken.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671947">\
	 <div id="dsq-comment-header-9671947" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671947" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9671947" href="http://neverness.wordpress.com/" target="_blank" rel="nofollow">neverness</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671947" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671947" class="dsq-comment-message">As it seems a lot of responses are from Microsoft, I guess Robert you hit a nerve. What most however fail to grasp is the inertia in the market with regards to the fields Microsoft is moving in or trying to catch up.<br><br>For instance getting web developers to move away from photoshop/dreamweaver/txt-editor will cost an enormous effort. Basically because it\'s trying to solve a non issue for most web-developers.<br><br>Luring away developers from OpenLazlo/Flex/Eclipse into Visual Studio which imho is only trying to get you into the Microsoft Environment doesn\'t make any sense. It will only add costs to the infrastructure which for most startups is just a no no.<br><br>Make it possible to develop WPF/E applications on Eclipse and make it possible to deploy it to an Apache infrastructure and you could get traction within the startups of the future.<br><br>But currently most are using Ruby on Rails, Python and flash (Flex/OpenLazlo) to get stuff done....</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671949">\
	 <div id="dsq-comment-header-9671949" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671949" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9671949" href="http://www.sriramkrishnan.com/blog" target="_blank" rel="nofollow">Sriram Krishnan [MSFT]</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671949" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671949" class="dsq-comment-message">Robert - there are times when I look at Techmeme and say "Hmm..why aren\'t these people talking about our stuff?". But that changed quickly when I had to call home to talk to my mom and my sister - both of them are not computer enthusiasts and can barely use the computer at home. But they both asked me about this new Windows Vista thing and said that it seemed very nice from the ads and asked me (since I\'m a MSFT employee) whether I should buy it.<br><br>Similarly, I was at a restaurant recently and the head waiter spotted my blue badge. He came over to me and proudly showed me how they were using Windows XP for their billing. He also ensured that I got good tables ever after.:)<br><br>I could go on..but you get the idea. Robert - I\'m a bit tired of this talk of \'influentials\'. Yes, I would love it Mike Arrington were to link to our products every day. But the truth is, there are millions and millions of other people out there. People like my mom and sis. Uncles, aunts, lawyers, teachers,etc. All these folks still love and trust Windows. You just don\'t see them posting to Digg about it. :)<br><br>This is not a corporate cheer-leading ra-ra comment. Do we have challenges? Damn right we do. But you just can\'t count out a company which 700 million people use to run their computers and their lives.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671951">\
	 <div id="dsq-comment-header-9671951" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671951" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9671951">John</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671951" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671951" class="dsq-comment-message">Ms. Dewey isn\'t wow?  Not only is it a good skin on Live Search, but it\'s some good skin on search...if you know what I mean.  She\'s HOT.  And the script is inventive and edgy.<br><br>And yes...you may not see the vitriol, but I see it as well, it bleeds through in your comments.  You may not like anonymous comments (like mine),  but you do have them turned on.  Very disengenuous of you to then "out" the anon posters at your whim.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671954">\
	 <div id="dsq-comment-header-9671954" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671954" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9671954" href="http://scobleizer.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671954" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671954" class="dsq-comment-message">John: if you think Ms. Dewey is "wow" then I have to wonder what Merlot are you drinking because obviously I need some of that!<br><br>Sriram: good points. Vista ads are plastered all over San Francisco. They aren\'t as cool as the iPod ads, but at least they are there. I remember asking the marketing department to do advertising like that and getting blank stares for a long time. So, kudos!<br><br>But, now, why isn\'t Vista sales meeting expectations? Ballmer is going around calming everyone down cause he knows that sales aren\'t very hot.<br><br>Hint: normal people don\'t upgrade: geeks do. We don\'t see the need.<br><br>This is the problem. Ads don\'t do the trick for us.<br><br>Also, you\'re confusing your influentials. Mike Arrington is influential in Web 2.0 stuff. You\'d be better off talking with Chris Pirillo, or John Markoff or Steven Levy or Leo Laporte about operating systems (or, about 100 people who are similar). Those are the guys that lots of people listen to.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671955">\
	 <div id="dsq-comment-header-9671955" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671955" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9671955" href="http://scobleizer.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671955" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671955" class="dsq-comment-message">John: even better. Ms. Dewey is done in Flash! <a href="http://www.msdewey.com/" rel="nofollow">http://www.msdewey.com/</a><br><br>So, even Microsoft\'s own developers like Flash better than .NET 3.0 for client-side stuff.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671964">\
	 <div id="dsq-comment-header-9671964" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671964" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9671964">John</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671964" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671964" class="dsq-comment-message">Dewey in Flash?  Who cares?  If you\'re defining "wow" in terms of growth (see 27 and 40) then MSFT is obviously doing what it needs to see growth through using another tool for the job.  Who the f--k cares what it was created in.  That was done on a shoestring budget under the radar, obviously some dev had an affinity with another tool.  The "wow" isn\'t about the hammer used to create the house, but about the end product.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671921">\
	 <div id="dsq-comment-header-9671921" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671921" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9671921" href="http://scobleizer.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671921" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671921" class="dsq-comment-message">John: because my original point last week that led to the development of this post here was that developers are moving away from Microsoft technologies on the Internet.<br><br>Shoestring budget? Really? I didn\'t know you could hire an actress and put together something this cool on a shoestring. I heard the actress on CNBC who did this the other day and it didn\'t sound like a skunkworks project. Where did you hear that?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671926">\
	 <div id="dsq-comment-header-9671926" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671926" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9671926">John</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671926" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671926" class="dsq-comment-message">The Product Manager who did Ms. Dewey was interviewed on NPR and talked about how he did it (i.e. without LCA approval).  I say "shoestring" for MSFT, but still small.  MUCH less than you\'d think for a MSFT marketing project.  Couple dozen g\'s.  I didn\'t say skunkworks...I said shoestring.  I work with actresses all the time, you can absolutely hire someone to do voice and video shorts for a couple 10 grand.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671915">\
	 <div id="dsq-comment-header-9671915" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671915" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9671915" href="http://neverness.wordpress.com/" target="_blank" rel="nofollow">neverness</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671915" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671915" class="dsq-comment-message">John, I took the bate. She looks Wow indeed, but i also decided to test her functionality (actually she\'s now shouting "type something here")<br><br>I decided on a small test to see whether she is wow as she seems to be a search portal. Around 2000 I was involved in building a search portal for a italian operator. Based upon natural language you would receive results f.i. give me the best hotel in rome (in Italian) would give you results and could connect you with the appropriate hotel when you decided so.<br><br>I tried this question: "What\'s the best restaurant in Seatle"  She responds with something about a celebrity strip show, nice but utterly useless information and the first result she shows is this site: <a href="http://strayfromtheheart.org/wordpress/?p=38" rel="nofollow">http://strayfromtheheart.org/wordpress/?p=38</a><br><br>The result is useless, not even close to what i was looking and you call this wow????<br><br>If you where over here in the Netherlands I would ask you which coffeshop you\'ve been to, because they\'ve definitely have some very good shit there.<br><br>You would have wowed me when she would have responded in the likes of:<br><br>Well this is the best according to the critics, but according  to the incrowd this would be the best place to go.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671935">\
	 <div id="dsq-comment-header-9671935" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671935" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9671935" href="http://scobleizer.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671935" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671935" class="dsq-comment-message">neverness: I agree with you. I just tried a few searches and definitely wasn\'t "wow\'ed." And, if you think she\'s good looking there\'s a lot better looking women out there who won\'t annoy you. Try Cali Lewis over at Geekbrief.tv, for instance.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671950">\
	 <div id="dsq-comment-header-9671950" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671950" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9671950">John</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671950" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671950" class="dsq-comment-message">@71...<br><br>Just my point.  On a shoestring budget you can\'t cover every locale with the script nor can you cover every city.  I actually don\'t care that some of the monolog is inane.  The search works (base on Live Search) and for instance even though they didn\'t code for Spanish, I actually get good results when searching for things for my Latina wife.<br><br>The person in charge wants to cover more locales, but doesn\'t have the budget now.  My guess is that someone in Legal or management at MSFT got their hands on this and that\'s where the innovation stops.  A completely different issue altogether...see MiniMSFT.<br><br>For me...for my teenage sons...Ms. Dewey makes Search fun.  Beats the pants off other interfaces I have seen and because it\'s from MSFT I know I can trust it, in more ways than one.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671937">\
	 <div id="dsq-comment-header-9671937" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671937" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9671937">John</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671937" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671937" class="dsq-comment-message">@72...<br><br>Be honest Robert...you\'re burning the bridge.  Yes, I\'m a softtie...not a big fan of the company more often than not, but your posts of late, while mostly on target (mostly) have been really disrespectful to the company that put you on the map.<br><br>Did someone diss you on an interview or charge you full price for your MSDN or something?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671918">\
	 <div id="dsq-comment-header-9671918" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671918" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9671918" href="http://neverness.wordpress.com/" target="_blank" rel="nofollow">neverness</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671918" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671918" class="dsq-comment-message">Scobble, everytime i wake up I see a hot good looking woman, she\'s called my wife ;)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671919">\
	 <div id="dsq-comment-header-9671919" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671919" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9671919" href="http://scobleizer.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671919" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671919" class="dsq-comment-message">John: if this is what\'s called "burning a bridge" then I don\'t want it.<br><br>You missed that I told Bill Gates to split Microsoft up BEFORE I was a Microsoft employee. One thing I like about Microsoft is that they usually are pretty good about criticism.<br><br>If telling the world what developers are telling me in the street is going to burn a bridge, then so be it.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671963">\
	 <div id="dsq-comment-header-9671963" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671963" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9671963">John</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671963" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671963" class="dsq-comment-message">Well, for my part, I hope you\'re not burning a bridge, but I think that you need to take a hard look at the tone of your posts and comments.  I understand, sometime they come in too fast to really reflect.  If Microsoft needs to do something to win you back over, they need to.  If you need more visibility into some of the smaller pockets that are doing cool things, I\'m sure they could use your help and visibility.  But don\'t write off the company that made you a much bigger person simply because you haven\'t been able to hit every corner of the behemoth.<br><br>Also remember that you only hit a segment of the developer marketplace that focus on web delivery.  I work and have worked with scores of companies in the enterprise business app space that are huge MSFT users.  And these are those that deal with daily decisions about whether to use (or not) MSFT tools or someone else, not fan boys or MVPs, but real firms trying to meet a bottom line...and they do great things with MSFT technology.<br><br>As for splitting the company up...we\'re all for it, us here down in the trenches.  :-)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671939">\
	 <div id="dsq-comment-header-9671939" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671939" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9671939" href="http://scobleizer.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671939" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671939" class="dsq-comment-message">John: agreed.<br><br>But, regarding what\'s hot. Don\'t take my word for it. Kevin Johnson, Microsoft\'s President, says that Web delivery is where they are focusing. That\'s why Microsoft is doing the Mix conference. I\'ll be at the next one. It\'ll be interesting to see what they show us because what they have been showing us has been falling flat.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671925">\
	 <div id="dsq-comment-header-9671925" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671925" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9671925" href="http://www.codinghorror.com/blog/" target="_blank" rel="nofollow">Jeff Atwood</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671925" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671925" class="dsq-comment-message">On Scoble becoming defensive:<br><br>&gt; It’s interesting that the tactic used here is “attack the messenger” and not “put up some decent arguments.”<br><br>Are you under attack? Granted, there are some jerks who post rude stuff here (and you absolutely have a right to ignore and delete their posts), but generalizing an discussion into "you guys are all out to get me" (p.s. your arguments suck) isn\'t helpful, either.<br><br>&gt; I’ve met with more than 125 companies all around the world and these trends have nothing to do with Silicon Valley startup bubbles.<br><br>Nothing screams "I\'m important" quite like a man screaming "I\'m important."<br><br>&gt; #44: of course you’re right. Instead we’re all listening to you and your wonderful insights about the tech industry. Where’s your blog again?<br><br>See above. Granted this guy was a jerk, but it\'s better to ignore than stoop to their level.<br><br>&gt;  I’ve also met with CTOs of some very big companies and big compute organizations in the past few years. I don’t see any new love for Microsoft there, either.<br><br>I used to have a girlfriend who would condescendingly tell me that my opinion was invalid because I wasn\'t privy to the same information she had. We\'re no longer together. And I pity the poor man she\'s married to now.<br><br>&gt; Also, you’re confusing your influentials.<br><br>And you\'re evidently the arbiter of all things influential as well. Why even bother asking us what we think when you already know the correct answer?<br><br>This isn\'t a naked conversation. It\'s you reflexively browbeating everyone into submission with your opinions.<br><br>For whatever reason, this is not the Scoble I remember. Maybe I\'m remembering wrong. Maybe discussions here were always like this. But to me, you seem angrier and more defensive than I remember.<br><br>I love you anyway, but I\'m just sayin\'.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671930">\
	 <div id="dsq-comment-header-9671930" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671930" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9671930">John</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671930" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671930" class="dsq-comment-message">IMHO...Kevin Johnson is a moron.  Sorry to say it if you like him, but I never liked him when he was in charge of sales and don\'t like him now.  He lacks vision and spine for true innovation.  He\'s toeing the Ballmer line.<br><br>Web delivery is an infrastructure concern, but too many inside MSFT have adopted the mantra that web delivery == search revenue.  Wrong and wrong.<br><br>I\'m in the Office org and I can tell you that the groups doing some great new things (for the web even) haven\'t even heard of or been invited to the Mix conference.  You were in DPE...they\'re connected well in some groups and not well in others...and they\'re the ones driving Mix as well.  I hear you on Ozzie\'s silence, not much to say there...but even those of us in Office pretty much just plug along, we don\'t care what he says...yet.<br><br>The companies that I work with, external partners, hundreds of them in the enterprise space...are still looking at rich client delivery, for a number of reasons, not the LEAST of which is the fact that large enterprises have yet to really jump into the web...and that will take years.  In the meantime they\'re doing fantastic things with Office, and WPF and BizTalk and SQL Server and BI....amazing things really.  Not really your bailiwick...I get that, but don\'t also discount it.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671944">\
	 <div id="dsq-comment-header-9671944" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671944" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9671944" href="http://scobleizer.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671944" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671944" class="dsq-comment-message">Jeff: &gt;&gt;Why even bother asking us what we think when you already know the correct answer?<br><br>You\'re reading stuff into my writing that simply isn\'t there. But, then, if I do know the answer I\'m going to tell you. It\'s my blog.<br><br>John: really? I was at a Salesforce conference and all the big companies say they are doing Web stuff now. I met lots of Fortune 100 companies there.<br><br>I guess that I can\'t even engage in my own comment area anymore without being browbeat into submission without appearing defensive and/or angry. Sigh.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671941">\
	 <div id="dsq-comment-header-9671941" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671941" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9671941" href="http://scobleizer.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671941" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671941" class="dsq-comment-message">John: the irony of you calling Kevin Johnson, a guy you work for, a moron, right after you were telling me I was burning my bridges. Pot calling kettle black maybe?<br><br>Amazing.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671902">\
	 <div id="dsq-comment-header-9671902" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671902" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9671902">John</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671902" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671902" class="dsq-comment-message">@81...<br><br>I said "really jump into the web"...I didn\'t mean do "something" with the web.  It\'s one thing for a company to do online banking or take insurance quotes online...quite another for them to go all web all the time.  Annuity transaction processing systems, healthcare case management...still very much old school.<br><br>No big company doesn\'t want to NOT admit that they\'re not doing web stuff...but how many would say they are entirely web based or that many of their business critical or mission critical apps are web based...not many.  You\'ve got to get past the marketing veneer.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671904">\
	 <div id="dsq-comment-header-9671904" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671904" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9671904">John</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671904" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671904" class="dsq-comment-message">I never had a bridge with Kevin...therefore not one to burn.  :-)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671905">\
	 <div id="dsq-comment-header-9671905" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671905" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9671905">John</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671905" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671905" class="dsq-comment-message">BTW...I don\'t work for Kevin, I work for Jeff, I\'m in Office, Jeff is much less of a moron, I liked him when he was running sales and like him now.  At least he had the balls to ditch Anoop (for example).</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671901">\
	 <div id="dsq-comment-header-9671901" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671901" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9671901" href="http://scobleizer.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671901" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671901" class="dsq-comment-message">John: #83. That\'s true. But then companies are still using mainframes. I know, I just sat next to a VP from IBM (they are seeing lots of big sales in enterprises, particularly in airlines and banking). You know, that company that Microsoft was supposed to kill. :-)<br><br>But, that\'s not the point again. You arguing that mainframes matter? Just cause IBM is selling a shitload of them?<br><br>The PC was more important for the past 30 years because it grew more.<br><br>The Web is gonna grow more over the next 30 years than the PC will.<br><br>That doesn\'t mean that PCs are going away. Doesn\'t mean Office is going away. It just means all that stuff is less important cause it won\'t bring growth to Microsoft.<br><br>Kevin Johnson might be a moron, but he did notice that Microsoft\'s butt is getting kicked by Apple, Google, Amazon, eBay.<br><br>Add up the stock prices of those -- go over to Google Finance and compare the five-year charts. It\'s stunning the difference. <a href="http://finance.google.com/finance?q=AAPL" rel="nofollow">http://finance.google.com/finance?q=AAPL</a></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671908">\
	 <div id="dsq-comment-header-9671908" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671908" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9671908" href="http://scobleizer.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671908" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671908" class="dsq-comment-message">Saying you don\'t work for the president is a little weird.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671909">\
	 <div id="dsq-comment-header-9671909" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671909" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9671909">John</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671909" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671909" class="dsq-comment-message">Won\'t argue with you on stock price.  But it didn\'t take a rocket scientist to see that Google and Amazone or others were going to be more innovative or quick to market or have better margins.  So Kevin noticed, big deal, how long did it take him, what did he do about it.  Even before he joined Windows he was in the SLT, he could have effected change...nothing.  Nope, that issue is endemic to MSFT leadership...and I hate it.  I won\'t apologize for it.  But don\'t confuse that with your original post.  All coolness doesn\'t happen with web apps.  And there are corners at the company you castigate that you have not seen, are not in your space, or are struggling to get stuff done the way that they know the industry wants to see it done.  I can burn bridges (as you say) with Kevin, because I never had them.  The few 1:1 conversations I had with him were disappointing at best and showed him as shortsighted and vision-less.  My point on bridge burning was that you spent your time at MSFT as an ambassador, evangelist and bridge builder.  Don\'t throw that good will away.  Regardless of the market, Microsoft will be a going concern...hopefully going faster in years to come.  :-)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671906">\
	 <div id="dsq-comment-header-9671906" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671906" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9671906">John</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671906" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671906" class="dsq-comment-message">@87...<br><br>Your MSFT org chart is getting a little rusty.  Kevin Johnson isn\'t the President of the Office division.  Jeff Raikes is.  Kevin is over Windows.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671907">\
	 <div id="dsq-comment-header-9671907" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671907" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9671907" href="http://scobleizer.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671907" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671907" class="dsq-comment-message">#88: I don\'t plan on throwing it away. But, then, I\'m not going to just be a synchophant either. I have stock in Microsoft (only company I do, actually) and so I have a vested interest in seeing you guys grow.<br><br>I don\'t know Kevin. Didn\'t have 1:1 conversations with him, just saw him speak to our group twice. Thought he was focusing on the right things, but, yeah, haven\'t heard him do anything specific to make Microsoft more interesting, er, grow faster.<br><br>As for Office, I saw quite a bit of the coolest stuff there. It\'s interesting, but there\'ll be more to say after the Office 2.0 conference that\'s coming up about that.<br><br>Microsoft is a 100 year company, even if they, er, you, do everything wrong. There\'s no way it\'s going away. Microsoft didn\'t make IBM go away, even though Microsoft kicked IBM\'s ass for 20+ years.<br><br>When I throw darts Microsoft\'s way, it\'s just over growth. That\'s all. I don\'t see any negative financials coming. If they do, they\'ll totally shock me. Microsoft is going to continue being one of the best businesses the world has ever seen for as far into the future that I can see.<br><br>But that\'s not what I\'m talking about here.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671900">\
	 <div id="dsq-comment-header-9671900" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671900" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9671900" href="http://www.bynkii.com/" target="_blank" rel="nofollow">John C. Welch</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671900" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671900" class="dsq-comment-message"><i>Robert@25, you released blogger@wordpress personal information (his/her IP address) which is only available to you and he/she did not explictly want to make it public.</i><br><br>You post to a public website, you takes your chances.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671898">\
	 <div id="dsq-comment-header-9671898" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671898" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9671898">LayZ</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671898" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671898" class="dsq-comment-message">Good Grief, Scoble. You really don\'t know how to make an argument for your position. Just because you supposedly talk to a lot of people--people supposedly representing "major companies" and "F100" companies does not prove your argument. Major corporations have their hands in all types of technologies. Just because some random person from some F100 company shows up at a <a href="http://salesforce.com" rel="nofollow">salesforce.com</a> conference doesn\'t mean that company is not being "wowed" by Microsoft. Jeff (from Office) makes just as compelling an argument that major corporations are being wowed by Microsoft because of the things they are doing. Using the Bandwagon fallacy does not prove your argument.<br><br>Also, whenever I see someone setting themselves up as some sort of authority to prove their argument, I can pretty much discount their position. In logic, this is know as "appealing to misleading authority" You attempt to set yourself up as an authority by using anecdotal data. You seem to use this position of authority argument when you are unable to prove your point with any quantifiable data. Unless or until you can prove your point with verifiable data, all we have is your opinion. Thus, those defending Microsoft come from just as credible a position.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671889">\
	 <div id="dsq-comment-header-9671889" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671889" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9671889">blogger@wordpress(an anon blog</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671889" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671889" class="dsq-comment-message">Well Robert , you might have read this already. But this is still a good forum to post this link - <a href="http://chris.pirillo.com/2007/02/27/windows-vista-im-breaking-up-with-you/" rel="nofollow">http://chris.pirillo.com/2007/02/27/windows-vis...</a><br><br>:-(</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671886">\
	 <div id="dsq-comment-header-9671886" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671886" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9671886" href="http://www.bynkii.com/" target="_blank" rel="nofollow">John C. Welch</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671886" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671886" class="dsq-comment-message"><i>Sure, there is no expectation of private information. But for whatever reason blogger@wordpress did not want to explicitly reveal his/her relationship with Microsoft. </i><br><br>However, it does explain their angle for their opinions.<br><br><i>But, that’s not the point again. You arguing that mainframes matter? Just cause IBM is selling a shitload of them?</i><br><br>No, I\'ll argue they matter because they still run a shitload of the world\'s banking transactions, are designed not to crash, are able to handle, per machine, loads that would make a Windows box run away crapping its drawers, and have been using technology that the PC world is just now mainstreaming.<br><br>If you think Mainframes don\'t matter, you really ARE clueless.<br><br>Microsoft isn\'t going away anytime soon, but they are essentially repeating the mistakes IBM made from about 1980 to Gerstner.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671885">\
	 <div id="dsq-comment-header-9671885" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671885" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9671885">Kamal Jain</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671885" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671885" class="dsq-comment-message">Robert, in that case I would like to know information you could derive from LayZ\'s IP address.<br><br>I had few comments exchanged with LayZ on your blog before I gave up for two reasons. 1. LayZ could have wrote anything whereas I had to be more careful to protect my real life credibility. 2. My viewpoint is dilluted because one could say I am from Microsoft. But the same could not have been said about LayZ\'s comment.<br><br>(I apologize LayZ. Your id is just for explaining the point. But the disadvantages 1. and 2., I mentioned above were exactly the reasons I gave up arguing with anonymous people.)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671884">\
	 <div id="dsq-comment-header-9671884" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671884" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9671884" href="http://darrenstuart.com/" target="_blank" rel="nofollow">Darren Stuart</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671884" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671884" class="dsq-comment-message">Hey Robert, Re your comments to my comment.<br><br>Darren: If Visual Studio is such a great tool how come almost none of the Office or Windows developers who work at Microsoft use it? If it’s so much more productive than other approaches, why doesn’t Microsoft ITSELF bet on that tool?<br><br>I was actually talking about web development and <a href="http://asp.net" rel="nofollow">asp.net</a> 2.0 not windows application development.<br><br>I have no knowledge to what MS does internally but from an end user point of view they have put a lot of thought and detail into making <a href="http://asp.net" rel="nofollow">asp.net</a> 2.0 a great platform for getting stuff done.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671903">\
	 <div id="dsq-comment-header-9671903" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671903" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9671903">seshadri(formerly blogger@word</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671903" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671903" class="dsq-comment-message">@95<br>"My viewpoint is dilluted because one could say I am from Microsoft"<br><br>This is the only reason i wanted to remain anonymous. Because i strongly fely onlce my MS identity is established nobody even tries to see the actual viewpoint. They just assume you are defending microsoft because you work there.<br><br>" could have wrote anything whereas I had to be more careful to protect my real life credibility"<br><br>*realization*<br>I have never looked at anonymous comments from this angle until now. I see how it puts you on an unfair advantage on a debate with a named guy. So here i stop doing that. (To give some real background - I work as a tester in the C# compiler team)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671913">\
	 <div id="dsq-comment-header-9671913" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671913" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9671913" href="http://scobleizer.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671913" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671913" class="dsq-comment-message">Seshadri: actually, people do listen. They might act like they aren\'t, though.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9671877">\
	 <div id="dsq-comment-header-9671877" class="dsq-comment-header">\
	 <cite id="dsq-cite-9671877" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9671877" href="http://www.bynkii.com/" target="_blank" rel="nofollow">John C. Welch</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9671877" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9671877" class="dsq-comment-message"><i>This is the only reason i wanted to remain anonymous. Because i strongly fely onlce my MS identity is established nobody even tries to see the actual viewpoint. They just assume you are defending microsoft because you work there.</i><br><br>Only if you come across as feeling the need to counter every criticism of Microsoft. When that happens, people think "Hey, Microsoft doesn\'t listen unless you say what they want to hear".</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=i_still_love_xbox_tabletpcs_media_center_halo_etc&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);
			}
		}
	});
}

})();




