




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

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

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

var Dsq = new function() {
	this.container = document.getElementById('dsq-content');
	this.jsonData = {"reactions": [{"body": "how dumb can people be?  read the comments to see today's winners.", "author_name": "Daniel Dulitz", "source_url": "http://www.ubervu.com/conversations/scobleizer.com/2008/01/05/plaxo-the-social-monster/", "id": 1067858, "get_service_url": "http://friendfeed.com/", "title": "", "url": "http://friendfeed.com/e/d086da77-334b-65fa-078f-8fcbb498dc50#80d0e53f-1516-4fb8-962a-49882c536bc0", "source": "ubervu", "get_service_name": "friendfeed", "avatar_url": "http://friendfeed.com/dulitz/picture?size=large", "author_url": "", "date_created": "1 year ago", "retweets": []}, {"body": "http://scobleizer.com/2008/01/05/plaxo-the-social-monster/", "author_name": "Jos\u00e9 Murilo Junior", "source_url": "http://www.ubervu.com/conversations/scobleizer.com/2008/01/05/plaxo-the-social-monster/", "id": 1067859, "get_service_url": "http://friendfeed.com/", "title": "", "url": "http://friendfeed.com/e/de072ac8-8f68-0984-b963-0a490d2301cb#0d9caeb2-f4f9-11dc-8b0a-003048343a40", "source": "ubervu", "get_service_name": "friendfeed", "avatar_url": "http://friendfeed.com/josemurilo/picture?size=large", "author_url": "", "date_created": "1 year ago", "retweets": []}, {"body": "More Plaxo vs. Facebook vs. Scoble talk.", "author_name": "Justin Yost", "source_url": "http://www.ubervu.com/conversations/scobleizer.com/2008/01/05/plaxo-the-social-monster/", "id": 1067860, "get_service_url": "http://friendfeed.com/", "title": "", "url": "http://friendfeed.com/e/7fd235ee-1c24-edd5-ce05-950474a9ea30#0397c372-a324-4ce5-b858-1d04dfaf97e0", "source": "ubervu", "get_service_name": "friendfeed", "avatar_url": "http://friendfeed.com/jtyost2/picture?size=large", "author_url": "", "date_created": "1 year ago", "retweets": []}], "has_more_reactions": false, "users": {"wilhelmus": {"username": "wilhelmus", "tumblr": "", "display_name": "wilhelmus", "url": "http://disqus.com/wilhelmus/", "registered": true, "linkedin": "", "blog": "http://www.wilhelmus.ca", "remote_domain": null, "points": 1, "facebook": "", "avatar": "http://media.disqus.com/uploads/users/5916/avatar92.jpg", "delicious": "", "is_remote": false, "verified": true, "flickr": "", "twitter": "", "remote_domain_name": ""}, "04f327f032df043846baa7474b8e6aff": {"username": "Krish", "tumblr": "", "display_name": "Krish", "url": "http://disqus.com/guest/04f327f032df043846baa7474b8e6aff/", "registered": false, "linkedin": "", "blog": "http://www.krishworld.com/blog/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/23653/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "94f59ae31a1c602b52150d9abaa09b56": {"username": "graywolf", "tumblr": "", "display_name": "graywolf", "url": "http://disqus.com/guest/94f59ae31a1c602b52150d9abaa09b56/", "registered": false, "linkedin": "", "blog": "http://www.wolf-howl.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/22/5692/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "d59d169f280a109c89abfa4c323da89d": {"username": "Judi Sohn", "tumblr": "", "display_name": "Judi Sohn", "url": "http://disqus.com/guest/d59d169f280a109c89abfa4c323da89d/", "registered": false, "linkedin": "", "blog": "http://www.momathome.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": ""}, "d89b0e51eed3752394f70a64c9cc8ea1": {"username": "Insider", "tumblr": "", "display_name": "Insider", "url": "http://disqus.com/guest/d89b0e51eed3752394f70a64c9cc8ea1/", "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": ""}, "5c97cdde89fdeb8bd1bb50daacca5326": {"username": "Donald", "tumblr": "", "display_name": "Donald", "url": "http://disqus.com/guest/5c97cdde89fdeb8bd1bb50daacca5326/", "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": ""}, "4437e31fa0c1333736b30c9543891198": {"username": "Ofri", "tumblr": "", "display_name": "Ofri", "url": "http://disqus.com/guest/4437e31fa0c1333736b30c9543891198/", "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": ""}, "4c1d47d0349b07db72eaac47fac2b3e3": {"username": "stuart", "tumblr": "", "display_name": "stuart", "url": "http://disqus.com/guest/4c1d47d0349b07db72eaac47fac2b3e3/", "registered": false, "linkedin": "", "blog": "http://stuart.amanzi.co.nz/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "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": ""}, "419af816abd9f25721a739f7a2aefdf6": {"username": "Critical_", "tumblr": "", "display_name": "Critical_", "url": "http://disqus.com/guest/419af816abd9f25721a739f7a2aefdf6/", "registered": false, "linkedin": "", "blog": "http://slashdot.org/~Critical", "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": ""}, "4a6c62d535f1c94123b9912635386c57": {"username": "Jim Russell", "tumblr": "", "display_name": "Jim Russell", "url": "http://disqus.com/guest/4a6c62d535f1c94123b9912635386c57/", "registered": false, "linkedin": "", "blog": "http://bjimba.blogspot.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "briansolis": {"username": "briansolis", "tumblr": "briansolis", "display_name": "briansolis", "url": "http://disqus.com/briansolis/", "registered": true, "linkedin": "in/futureworks", "blog": "http://www.briansolis.com", "remote_domain": null, "points": 10, "facebook": "", "avatar": "http://media.disqus.com/uploads/users/3/7939/avatar92.jpg", "delicious": "briansolis", "is_remote": false, "verified": true, "flickr": "briansolis", "twitter": "", "remote_domain_name": ""}, "05f86526a0ad23546de121e6d6d04e51": {"username": "Stacy Martin", "tumblr": "", "display_name": "Stacy Martin", "url": "http://disqus.com/guest/05f86526a0ad23546de121e6d6d04e51/", "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": ""}, "e16b83ca43846370fbc56f0c8304b04d": {"username": "Chester&#39;s Home Remedies", "tumblr": "", "display_name": "Chester&#39;s Home Remedies", "url": "http://disqus.com/guest/e16b83ca43846370fbc56f0c8304b04d/", "registered": false, "linkedin": "", "blog": "http://chestershomeremedies.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": ""}, "9c23ba631ec1b007dc7b85508574773b": {"username": "Sam I Am", "tumblr": "", "display_name": "Sam I Am", "url": "http://disqus.com/guest/9c23ba631ec1b007dc7b85508574773b/", "registered": false, "linkedin": "", "blog": "http://sam-i-am.travellerspoint.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/8/9280/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "ddb8ec9d157b68738a1511e547446929": {"username": "Jake McKee", "tumblr": "", "display_name": "Jake McKee", "url": "http://disqus.com/guest/ddb8ec9d157b68738a1511e547446929/", "registered": false, "linkedin": "", "blog": "http://www.communityguy.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": ""}, "6f8b6a442c92947aac77dc2a2f0b0e65": {"username": "James B", "tumblr": "", "display_name": "James B", "url": "http://disqus.com/guest/6f8b6a442c92947aac77dc2a2f0b0e65/", "registered": false, "linkedin": "", "blog": "http://www.bitsofws.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": ""}, "de98c1924472930f24b84f40187c3b86": {"username": "TDavid", "tumblr": "", "display_name": "TDavid", "url": "http://disqus.com/guest/de98c1924472930f24b84f40187c3b86/", "registered": false, "linkedin": "", "blog": "http://tdavid.wordpress.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/22/5705/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "d9a2b409def9cca7671de3f6844a1283": {"username": "Greg", "tumblr": "", "display_name": "Greg", "url": "http://disqus.com/guest/d9a2b409def9cca7671de3f6844a1283/", "registered": false, "linkedin": "", "blog": "http://www.yardley.ca/dash/2008/01/04/on-implicit-social-contracts/", "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": ""}, "2e565a49ed79826a0118f69ae0ea2f56": {"username": "giginger", "tumblr": "", "display_name": "giginger", "url": "http://disqus.com/guest/2e565a49ed79826a0118f69ae0ea2f56/", "registered": false, "linkedin": "", "blog": "http://giginger.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": ""}, "ce2522f7c1c718bdfc668c8e74cb0633": {"username": "Slobokan", "tumblr": "", "display_name": "Slobokan", "url": "http://disqus.com/guest/ce2522f7c1c718bdfc668c8e74cb0633/", "registered": false, "linkedin": "", "blog": "http://www.slobokan.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": ""}, "0e548cf2f32966f42bd0d1e07b4d8108": {"username": "Snekse", "tumblr": "", "display_name": "Snekse", "url": "http://disqus.com/guest/0e548cf2f32966f42bd0d1e07b4d8108/", "registered": false, "linkedin": "", "blog": "http://www.gastronomicfightclub.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": ""}, "c41040a2293e81bf3557319acb3e6985": {"username": "Livia Iacolare", "tumblr": "", "display_name": "Livia Iacolare", "url": "http://disqus.com/guest/c41040a2293e81bf3557319acb3e6985/", "registered": false, "linkedin": "", "blog": "http://liviacolare.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/4/8824/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "c66b5c2859aa4dac7afe61c0596deedf": {"username": "Chris", "tumblr": "", "display_name": "Chris", "url": "http://disqus.com/guest/c66b5c2859aa4dac7afe61c0596deedf/", "registered": false, "linkedin": "", "blog": "http://www.turning25.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": ""}, "2fc3fec9f6dc3056ca46e2797827dcf1": {"username": "Michaelruby", "tumblr": "", "display_name": "Michaelruby", "url": "http://disqus.com/guest/2fc3fec9f6dc3056ca46e2797827dcf1/", "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": ""}, "f89b745cb3983fb1c02bca74a4f6d077": {"username": "francine hardaway", "tumblr": "", "display_name": "francine hardaway", "url": "http://disqus.com/guest/f89b745cb3983fb1c02bca74a4f6d077/", "registered": false, "linkedin": "", "blog": "http://www.blog.stealthmode.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/13604/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "593a6c05e7c051e37e679f6a5d938da5": {"username": "Sam Spade", "tumblr": "", "display_name": "Sam Spade", "url": "http://disqus.com/guest/593a6c05e7c051e37e679f6a5d938da5/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "3630b12fa5114af032a20e2d202b62af": {"username": "Ben", "tumblr": "", "display_name": "Ben", "url": "http://disqus.com/guest/3630b12fa5114af032a20e2d202b62af/", "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": ""}, "2d5cd1728c8d8e2a2d6de0ec61fc2b34": {"username": "David Politis", "tumblr": "", "display_name": "David Politis", "url": "http://disqus.com/guest/2d5cd1728c8d8e2a2d6de0ec61fc2b34/", "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": ""}, "b0be7dc9dffd2413ec89e6ebb54da179": {"username": "drew olanoff", "tumblr": "", "display_name": "drew olanoff", "url": "http://disqus.com/guest/b0be7dc9dffd2413ec89e6ebb54da179/", "registered": false, "linkedin": "", "blog": "http://www.drewolanoff.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/19238/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "60e2e20c87f61f274fdc2047ee431404": {"username": "Zian", "tumblr": "", "display_name": "Zian", "url": "http://disqus.com/guest/60e2e20c87f61f274fdc2047ee431404/", "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": ""}, "2e41d52b2986c0c63a2f464e34b7b3f3": {"username": "grinch", "tumblr": "", "display_name": "grinch", "url": "http://disqus.com/guest/2e41d52b2986c0c63a2f464e34b7b3f3/", "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": ""}, "873326a7da416ae91eddf0a44b384eab": {"username": "Tim", "tumblr": "", "display_name": "Tim", "url": "http://disqus.com/guest/873326a7da416ae91eddf0a44b384eab/", "registered": false, "linkedin": "", "blog": "http://tim.rocketry.org/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "2abee265bc57211fe7d046357ac9f81b": {"username": "Pat Kershaw", "tumblr": "", "display_name": "Pat Kershaw", "url": "http://disqus.com/guest/2abee265bc57211fe7d046357ac9f81b/", "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": ""}, "e900b5e442d0c352c96824535d291bb4": {"username": "Wills", "tumblr": "", "display_name": "Wills", "url": "http://disqus.com/guest/e900b5e442d0c352c96824535d291bb4/", "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": ""}, "1040dd326462d46100dbbe91c34023dd": {"username": "Olly S", "tumblr": "", "display_name": "Olly S", "url": "http://disqus.com/guest/1040dd326462d46100dbbe91c34023dd/", "registered": false, "linkedin": "", "blog": "http://www.saltedlolly.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": ""}, "caa4b7961176f3723ecbec78eb039ad2": {"username": "ZebZiggle", "tumblr": "", "display_name": "ZebZiggle", "url": "http://disqus.com/guest/caa4b7961176f3723ecbec78eb039ad2/", "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": ""}, "1f8e7b0610bf12287e239d32c2a9ae66": {"username": "dc crowley", "tumblr": "", "display_name": "dc crowley", "url": "http://disqus.com/guest/1f8e7b0610bf12287e239d32c2a9ae66/", "registered": false, "linkedin": "", "blog": "http://doncrowley.blogspot.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/7894/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "5780481f80be00d4adae17fec61b6b35": {"username": "Ajay Mishra", "tumblr": "", "display_name": "Ajay Mishra", "url": "http://disqus.com/guest/5780481f80be00d4adae17fec61b6b35/", "registered": false, "linkedin": "", "blog": "http://www.nomolisa.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": ""}, "cee17d590423b408a3410167ba6ae5b4": {"username": "Bob", "tumblr": "", "display_name": "Bob", "url": "http://disqus.com/guest/cee17d590423b408a3410167ba6ae5b4/", "registered": false, "linkedin": "", "blog": "http://ladow.net/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "4c91f43c2921825797d0b0cfe001b75b": {"username": "Ginrod", "tumblr": "", "display_name": "Ginrod", "url": "http://disqus.com/guest/4c91f43c2921825797d0b0cfe001b75b/", "registered": false, "linkedin": "", "blog": "http://www.2pad.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": ""}, "800b9578c32cbc68aa496d3a1d6c5df7": {"username": "Tom", "tumblr": "", "display_name": "Tom", "url": "http://disqus.com/guest/800b9578c32cbc68aa496d3a1d6c5df7/", "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": ""}, "13b3457866acb33e384fabc0d8073b19": {"username": "Rijk", "tumblr": "", "display_name": "Rijk", "url": "http://disqus.com/guest/13b3457866acb33e384fabc0d8073b19/", "registered": false, "linkedin": "", "blog": "http://my.opera.com/Rijk/", "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": ""}, "212f7273f5054e75f642829f8c1624f7": {"username": "John McCrea", "tumblr": "", "display_name": "John McCrea", "url": "http://disqus.com/guest/212f7273f5054e75f642829f8c1624f7/", "registered": false, "linkedin": "", "blog": "http://blog.plaxo.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": ""}, "8f3a986273ce85a2bc59fd6c4966e41c": {"username": "Mike Doeff", "tumblr": "", "display_name": "Mike Doeff", "url": "http://disqus.com/guest/8f3a986273ce85a2bc59fd6c4966e41c/", "registered": false, "linkedin": "", "blog": "http://mdoeff.com/blog", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/1818/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "78838df37bdd48f5508c3d7650a4c6c0": {"username": "Paul Fabretti", "tumblr": "", "display_name": "Paul Fabretti", "url": "http://disqus.com/guest/78838df37bdd48f5508c3d7650a4c6c0/", "registered": false, "linkedin": "", "blog": "http://blendingthemix.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/15544/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "f1ffda84bd1bb9f011d80019b25f1d46": {"username": "Johan Myrberger", "tumblr": "", "display_name": "Johan Myrberger", "url": "http://disqus.com/guest/f1ffda84bd1bb9f011d80019b25f1d46/", "registered": false, "linkedin": "", "blog": "http://thekillerattitude.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": ""}, "9d21912a45fa96b9bf1a1ff4e5600a3e": {"username": "mj", "tumblr": "", "display_name": "mj", "url": "http://disqus.com/guest/9d21912a45fa96b9bf1a1ff4e5600a3e/", "registered": false, "linkedin": "", "blog": "http://blog.infurious.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": ""}, "45c7fb8bbfcf2d946853a218d3d76481": {"username": "weaverluke", "tumblr": "", "display_name": "weaverluke", "url": "http://disqus.com/guest/45c7fb8bbfcf2d946853a218d3d76481/", "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": ""}, "83e226e176a7a3e8266a385617666a2a": {"username": "Jason Bainbridge", "tumblr": "", "display_name": "Jason Bainbridge", "url": "http://disqus.com/guest/83e226e176a7a3e8266a385617666a2a/", "registered": false, "linkedin": "", "blog": "http://twitter.com/jaseone", "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": ""}, "67ddf598c32d0ae929852af89fa4b272": {"username": "Karim", "tumblr": "", "display_name": "Karim", "url": "http://disqus.com/guest/67ddf598c32d0ae929852af89fa4b272/", "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": ""}, "9811a8b46ed170a7bf74597c68e1b2e8": {"username": "slavior", "tumblr": "", "display_name": "slavior", "url": "http://disqus.com/guest/9811a8b46ed170a7bf74597c68e1b2e8/", "registered": false, "linkedin": "", "blog": "http://slavior.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": ""}, "a245aceab767288adef2b00fc9be2bff": {"username": "MUC", "tumblr": "", "display_name": "MUC", "url": "http://disqus.com/guest/a245aceab767288adef2b00fc9be2bff/", "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": ""}, "1fc0da0962bd214317912c4a21dd166c": {"username": "Lisa Amorao", "tumblr": "", "display_name": "Lisa Amorao", "url": "http://disqus.com/guest/1fc0da0962bd214317912c4a21dd166c/", "registered": false, "linkedin": "", "blog": "http://lisaamorao.wordpress.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/120/93/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}}, "forum": {"use_media": true, "name": "Scobleizer", "streaming_realtime": true, "url": "scobleizer", "allow_anon_post": true, "reactions_enabled": true, "reply_position": 1, "show_avatar": true, "allow_anon_votes": false, "disqus_auth_disabled": false}, "realtime_enabled": true, "request": {"username": "", "is_global_moderator": false, "sharing": {}, "sort": 4, "forum": "scobleizer", "is_initial_load": true, "is_authenticated": false, "timestamp": "2009-12-17_05:23:38", "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": {"9698351": {"up_voted": false, "ip": "", "has_replies": false, "message": "Very good points and I like your ideas of controlling how we allow access to our information on other systems.  Seems a little like OpenID.  I like the fact that you added \"FAN\" as an option.  There are tons of bloggers and others I've met that I wouldn't call a friend, but I still have some contact with them and want to keep connected.  This brings up another point that I'm a bit surprised you didn't touch on.  A friend is not always a friend.  More importantly, a family member isn't always a family member.  I'm still waiting for the day when social networks will realize they can't shoehorn everyone into a couple of predefined categories that *they* choose for all of their users.  They should just allow the users to create their own categories and the settings for those categories.  Oh, and create hierarchies too.  After all, my wife's family is not the same as my family and my aunt is not the same as my mom, yet they are all family.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-01-10_16:09:26", "killed": false, "user_key": "0e548cf2f32966f42bd0d1e07b4d8108", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9698352": {"up_voted": false, "ip": "", "has_replies": false, "message": "@78.  He knew going in what the rules are.  Hypocritical or not, he agreed to them. This is not akin to civil disobedience. This is more akin to going to a free concert, knowing that recording devices aren't allowed, but using them anyway and bitching about getting caught and thrown out, but then saying it's not fair because the concert promoter was recording the concert for a future album release. Scoble wasn't trying to the Martin Luther King of social networking.  More like trying to be the Al Sharpton or Jesse Jackson...concerned more about visibility than actual change.<br><br>I would have been inclined to almost buy into your \"power to the people\" theory if not for what Lisa @61 above points out. It appears Scoble is being a hypocrite.  He didn't agree with it then.  My guess is because he couldn't figure out how to do it himself so he came out against it.  Now that someone ELSE provided him a tool for a product he's shilled for in the past, he's fine with it.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-01-06_16:01:05", "killed": false, "user_key": "5c97cdde89fdeb8bd1bb50daacca5326", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9698353": {"up_voted": false, "ip": "", "has_replies": false, "message": "I like Scolbe's idea of DRM to profile data.<br><br>Its like mini-me: I, me, Mine.. implemented, especially keeping in mind American sensibilities around privacy and private data etc.<br><br>I just somehow, dont understand why: people enter Gmail and other userid and password data on such sites !<br><br>Anyway, we would be launching mine-me ( I, Me, Mine) stuff --&gt; Robert Scolbe calls it DRM for profile data.. Cool..<br><br>ciao<br>ajay", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-01-06_16:12:40", "killed": false, "user_key": "5780481f80be00d4adae17fec61b6b35", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9698354": {"up_voted": false, "ip": "", "has_replies": false, "message": "I'm sure it's been pointed out, but when you import a friend from Gmail, it sends them a friend request.  An OPT IN to be your friend.  No actions happen until they approve it.<br><br>That's the difference.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-01-06_11:53:40", "killed": false, "user_key": "b0be7dc9dffd2413ec89e6ebb54da179", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9698355": {"up_voted": false, "ip": "", "has_replies": false, "message": "Also Robert, for reasons I cannot fathom, your website is blocked in China - I am accessing it through a proxy. Can't imagine what you could have done to piss of the Chinese government. Is there anything you want to tell us? ;)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-01-06_12:00:10", "killed": false, "user_key": "1040dd326462d46100dbbe91c34023dd", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9698356": {"up_voted": false, "ip": "", "has_replies": false, "message": "Those of you who are worried about what a potential sale of Plaxo would mean for your data would be well advised to take a look at their privacy policy:<br><a href=\"http://www.plaxo.com/privacy\" rel=\"nofollow\">http://www.plaxo.com/privacy</a><br><br>The question of what happens to your data if the company is sold is answered here:<br><a href=\"http://www.plaxo.com/privacy/q_and_a#q7\" rel=\"nofollow\">http://www.plaxo.com/privacy/q_and_a#q7</a><br><br>Personally I trust them - their privacy policy is one of the best in the industry. They put the user first in almost every area - asserting that ownership of the contact data you add to their system<br>is yours, and they will never do anything with it without first notifying you in advance to give you the chance to opt-out.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-01-06_11:55:04", "killed": false, "user_key": "1040dd326462d46100dbbe91c34023dd", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9698357": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert:<br><br>I've been following this whole mess for a couple of days, and it really is a BIG MESS. My take on this for you and all your readers is best explained on \"Utah Tech Watch\" at <a href=\"http://www.utahtechwatch.com/industry/who-owns-social-media-data-scoble-facebook-plaxo-fracas-raises-questions/\" rel=\"nofollow\">http://www.utahtechwatch.com/industry/who-owns-...</a>.<br><br>For Zuckerberg and Facebook, my advice is that they need better public relations counsel, as I wrote on <a href=\"http://TheBettyFactor.com\" rel=\"nofollow\">TheBettyFactor.com</a> at <a href=\"http://www.thebettyfactor.com/2008/01/05/advice-for-mark-zuckerbook-and-facebook/\" rel=\"nofollow\">http://www.thebettyfactor.com/2008/01/05/advice...</a>.<br><br>Good luck, Robert. Hope to see you at CES.<br><br>Dave Politis", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-01-06_00:02:10", "killed": false, "user_key": "2d5cd1728c8d8e2a2d6de0ec61fc2b34", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9698358": {"up_voted": false, "ip": "", "has_replies": false, "message": "Reading Judi's original post, you'd think that she feels anyone who would use the service would be violating the privacy of their friends by uploading their contact info without their permission.<br><br>Strange, here's what she was saying about Plaxo just a few months ago:<br><br>\"The idea behind the new Plaxo is that it can serve as the 'hub' of your calendar and contact data. If you have your contact and calendar data in multiple locations this is welcome relief. As web workers who deal with many different people using many different systems, it\u2019s not uncommon for us to have calendar and contact data in bits &amp; pieces everywhere. Plaxo helps bring it all together.\"<br><br>Her full post on Web Worker Daily is here:<br><a href=\"http://webworkerdaily.com/2007/06/25/hands-on-with-the-new-plaxo/\" rel=\"nofollow\">http://webworkerdaily.com/2007/06/25/hands-on-w...</a>", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-01-05_22:45:21", "killed": false, "user_key": "212f7273f5054e75f642829f8c1624f7", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9698359": {"up_voted": false, "ip": "", "has_replies": false, "message": "Thanks for fueling this debate Robert.<br><br>The point is not that Facebook's TOS was broken, nor if Plaxo is evil. The point is data portability, and breaking through walled gardens. Facebook and Plaxo just happened to be vehicles to drive the point home. Sometimes civil disobedience is a necesity for change.<br><br>The reality is that as soon as you hand somebody a business card or send somebody and email, your data is out there. Are you going to ask somebody if they use Plaxo or some other service when you hand them a business card?<br><br>My social graph should be portable between networks.<br>Why do I have to befriend everybody multiple times? Next, I should be able to add restictions on a user/friend level (call it DRM for friends if you like).<br><br>But first we need to break down these walled gardens, put up there for no other reason than power and control.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-01-05_19:36:30", "killed": false, "user_key": "wilhelmus", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9698360": {"up_voted": false, "ip": "", "has_replies": false, "message": "And Judi appeared to take no issue with the ability to import from LinkedIn:<br><br>\"LinkedIn: For Premium Subscribers only. One-way sync of contacts, with only the ability to add LinkedIn contacts to Plaxo, not the other way around. The sync is also manual, which means you have to remember to initiate a sync. There\u2019s some competition between these two services, so limitations shouldn\u2019t be surprising.\"<br><br>Hmmmmmmmmmmmmmmm.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-01-05_22:58:51", "killed": false, "user_key": "212f7273f5054e75f642829f8c1624f7", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9698361": {"up_voted": false, "ip": "", "has_replies": false, "message": "Facebook isn't a monster, nor is Plaxo. But some of their users are. I resent it when a total stranger asks to connect with me on Plaxo because hs is building his network in the hopes that he will build his business.  That, to me, isn't a social network. I love to meet people on social networks, because I like to meet new people, but I don't want to be used by absolute strangers who are trying to sell me real estate in Costa Rica or take my time ignoring them one-by-time-consuming one.<br><br>I am hoping that if I say this enough about Plaxo, Smarr will read it and come up with a better system.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-01-05_16:15:59", "killed": false, "user_key": "f89b745cb3983fb1c02bca74a4f6d077", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9698362": {"up_voted": false, "ip": "", "has_replies": false, "message": "From her previous comment in this thread it looks like her opinion of Plaxo has changed:<br><br><a href=\"http://scobleizer.com/2008/01/05/plaxo-the-social-monster/#comment-1874256\" rel=\"nofollow\">http://scobleizer.com/2008/01/05/plaxo-the-soci...</a>", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-01-05_23:12:15", "killed": false, "user_key": "d89b0e51eed3752394f70a64c9cc8ea1", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9698363": {"up_voted": false, "ip": "", "has_replies": false, "message": "You make some good points there. I do wonder why people are selectively screaming about your recent fiasco, but don't mind that FaceBook imports all of your GMail contacts. It's the same damn thing, sounds like it anyway.<br><br>I think a more fine grained permission/preferences thing would be an answer. There are standards for email (POP/IMAP), web (HTTP/HTTPS) and other things (FTP, TCP/IP, etc..), so maybe we need to come up with something for information sharing preferences or something? Someone write up and submit a new RFC on personal data sharing? I'm probably crazy though, nobody's gonna do that. :)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-01-05_18:54:51", "killed": false, "user_key": "873326a7da416ae91eddf0a44b384eab", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9698364": {"up_voted": false, "ip": "", "has_replies": false, "message": "<i>robert you really are delusional enough to believe we live in an egalitarian world where everyone is equal? </i><br><br>Right, so, because inequality exists and we'll never be able to completely eradicate it, we should just give up on reducing it at all?<br><br>It's not even a <i>slight</i> inequality we're talking about.  We're talking about Facebook screen-scraping millions of addresses out of Hotmail, Yahoo! Mail, and Gmail (in flagrant violation of each one's ToS), but Facebook yanking Scoble's account just for mere <i>appearance</i> of doing the same damn thing?<br><br>Facebook is brazenly HIJACKING 18-wheelers from Nabisco and Pepperidge Farm full of cookies, but throwing Scoble in detention because it sort of looked like he <i>might</i> have had his hand in the cookie jar?<br><br>And the appropriate response to this level of hypocrisy is, \"Well, life's unfair, deal with it?\"<br><br><i>Of course that would have gotten you much less attention, traffic and links, which is what I think was part of your plan all along.</i><br><br>How is that mind-reading thing working out for you?<br><br><i>If you are going to be an attention whore fine admit it up front don\u2019t hide behind the guise of championing for the freedom of my data, when what you really are working for is feeding your ego and increasing your exposure above all else.</i><br><br>Wow, so Scoble's <i>stated</i> motivation was to get the contact data for his \"friends\" out of Facebook, but you, Professor Xavier, with your Magical Mind-Reading Powers, have informed us all that that was a complete lie and that he just wanted to \"feed his ego\" and \"increase his exposure.\"<br><br>Jealous much?<br><br>As for attention whorishness, um, are you new here?  Did you not notice this guy Scoble tends to live his life online?<br><br>Besides, if Scoble's an Attention Whore, what does that make you for <i>paying</i> attention and commenting several times?  An Attention John?  :-)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-01-05_15:25:54", "killed": false, "user_key": "67ddf598c32d0ae929852af89fa4b272", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9698365": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert, how many email addresses did you have in Gmail when you signed up with FB? Those are email addresses you've had with you for a while if you're anything like me. People you really know, have met or done business with etc.<br><br>On Facebook, 90% of your friends are probably not really friends or people you know, right or wrong?<br><br>I'm sure the 10% don't mind their data they gave you heading off to another database like plaxo, since you could have done that directly. It's the other 90% that are your 'friends' that is the HUGE difference between what FB is doing and what you did with Plaxo.<br><br>On the other hand, it's also the fault of anyone friending people they don't know, which is not just you but also that 90%.<br><br>I don't blame you any more than the 4500 or so folks that aren't really your friends but still friended you. A smart man like you SHOULD however realize the difference between the two systems.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-01-05_16:00:36", "killed": false, "user_key": "9c23ba631ec1b007dc7b85508574773b", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9698366": {"up_voted": false, "ip": "", "has_replies": false, "message": "<i>hypocrite? Puhleazze.</i><br><br>\"Hypocrisy is the act of condemning another person for an act of which the critic is guilty.\"<br><br><a href=\"http://en.wikipedia.org/wiki/Hypocrite\" rel=\"nofollow\">http://en.wikipedia.org/wiki/Hypocrite</a><br><br>Facebook condemns you for screen scraping email addresses.  Yet they screen-scrape email addresses every day, from Gmail, Hotmail, and Yahoo! Mail, in violation of Terms of Service.  Facebook = hypocrite.<br><br><i>I like knowing that my data is a (or at least should be) a one-way street. I *choose* to put it in there. FB is doing the right thing detecting and enforcing that someone was running a script.</i><br><br>You know, I could almost buy the \"Facebook as Protector and Guardian of Your Data\" thing if it weren't for <a href=\"http://en.wikipedia.org/wiki/Beacon_%28Facebook%29\" rel=\"nofollow\">Facebook Beacon</a>.  Obviously they're only interested in protecting your privacy to the extent it doesn't interfere with them turning a buck.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-01-06_17:57:58", "killed": false, "user_key": "67ddf598c32d0ae929852af89fa4b272", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9698367": {"up_voted": false, "ip": "", "has_replies": false, "message": "Karim ... hypocrite? Puhleazze. And certainly not as critical as the risk of the data leaving without your permission. If you had of read the FB TOS, you would know not to back yourself into a corner.<br><br>To be honest ... I like the corner. I like knowing that my data is a (or at least should be) a one-way street. I *choose* to put it in there. FB is doing the right thing detecting and enforcing that someone was running a script. I know all bets are off when I add a third-party FB application, which is why I don't add them. Nothing. Not one. I only use FB sanctioned apps which live under the FB TOS and privacy policy. Your mileage may vary.<br><br>As I've mentioned to friend, I think the solution is to support multi-tiered privacy in addition to the fine-grained privacy that FB offers.<br><br>Let's say (back of the napkin):<br><br>Level 1 - I won't share anything about you. Promise.<br><br>Level 2 - I may share your status, hobbies, movies, etc.<br><br>Level 3 - I may share your name, gender, age and general geography.<br><br>Level 4 - I may share your phone numbers, home address or email.<br><br>Level 5 - I don't promise anything. Give me your info at your own risk.<br><br>For example, \"Only share [this data] with friends that offer privacy level 2 or less\" where N is some gradient of assurance/promise. The platform should enforce no one gets what they shouldn't. It's privacy policies on a relationship-by-relationship basis.<br><br>In this case, Robert was Level 5.<br><br>That way, of the 5000 FB friend of Scoble only a lazy or care-free subset could have their data exported.<br><br>Thoughts?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-01-06_16:04:47", "killed": false, "user_key": "caa4b7961176f3723ecbec78eb039ad2", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9698368": {"up_voted": false, "ip": "", "has_replies": false, "message": "I totally don't understand the problem. I'm a bit like Judi Sohn - I don't want someone I don't really know to have access to my profile, so I do not 'friend' such people on Facebook.<br><br>People seem to have mixed up expectations. It should be utterly obvious that the 'FAN ONLY' permission type Robert mentions does not exist at the moment - so why expect that to be honored?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-01-06_18:10:47", "killed": false, "user_key": "13b3457866acb33e384fabc0d8073b19", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9698369": {"up_voted": false, "ip": "", "has_replies": false, "message": "<i>Scoble wasn\u2019t trying to the Martin Luther King of social networking. More like trying to be the Al Sharpton or Jesse Jackson\u2026concerned more about visibility than actual change. </i><br><br>You know, back in the day, a lot of people put King, Jackson &amp; Sharpton in the same bucket.  Though we have a holiday for MLK now.<br><br>I do not know what you mean by \"concerned more about visiblity.\"  Doesn't knowing his true \"concerns\" involve the ability to read his mind?  Scoble <i>says</i> he just wants to try out this Plaxo program, but you (being able to read minds) know that his <i>real</i> motivation is \"visibility,\" whatever that means.<br><br>We can guess at his \"real\" motivation all day long, but you can only <i>reasonably</i> discuss what he actually did and said.<br><br>And in the end, what does it matter anyway?  Did Scoble, King, Jackson or Sharpton do everything they did because, deep down inside, they were all attention whores?  The motivation doesn't matter quite so much as <i>the acts themselves.</i>  Besides, half the time people don't know their OWN motivations!<br><br>The other half of the time they project their own motivations onto others.  ;-)<br><br><i>I would have been inclined to almost buy into your \u201cpower to the people\u201d theory if not for what Lisa @61 above points out. It appears Scoble is being a hypocrite. He didn\u2019t agree with it then.</i><br><br>:-)  It doesn't look like he's being a hypocrite to me, because they're two different issues.<br><br>The story Scoble commented on (mentioned by Lisa @ 61) was about a guy who took 4,600 addresses out of Gmail, and <b>MASS E-MAILED ALL 4,600 ADDRESSES</b> with invitations to join Facebook.<br><br>Scoble left a comment calling that \"spam behavior.\"  Presumably because it <i>is.</i>  :-)  If AOL or Comcast sees several hundred messages dumped on their doorstep by a Facebook mail server, Facebook might end up on a spam/UCE blacklist.<br><br>Sending unsolicited email to 4,600 people isn't the same thing as harvesting 5,000 email addresses.  They're totally different things.  You can be against <i>sending email to</i> 5,000 people while being in favor of being able to <i>collect</i> 5,000 email addresses.  One involves annoying people and the other doesn't.  :-)<br><br>Remember, Facebook is one in power here: they're the ones with the 15 billion dollar valuation, they're the ones \"erasing\" people without so much as a WARNING, they're the ones sponsoring Presidential Debates in New Hampshire.  We're just the people.  So yeah, power to the PEOPLE, baby!  Can you dig it? :-)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-01-06_17:43:22", "killed": false, "user_key": "67ddf598c32d0ae929852af89fa4b272", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9698370": {"up_voted": false, "ip": "", "has_replies": false, "message": "<i>Whether Scoble read them or not, or even understood them, he agreed to FB\u2019s [TOS] by creating an account. So, what FB does or doesn\u2019t do wrt to other systems is irrelevant to this issue. Scoble violated terms he agreed to.</i><br><br>I agree he violated Facebook's ToS (if you assume that the Plaxo program qualifies as a \"script\"); I agree two wrongs don't make a right.  BUT...<br><br>All Scoble was doing to Facebook was what Facebook constantly does to others.  In that sense, he is doing several things: pointing out a MASSIVE hypocrisy on Facebook's part, for one.  Making it clear that Facebook's idea of customer service is to kick your ass to the curb and ask questions later, for another.  Making folks <i>think</i>, and getting people to <i>discuss</i> the issues involved, for another.<br><br>In some ways, what Scoble did was analogous to civil disobedience.  In civil disobedience, people EXPECT to be arrested, because they are breaking some <i>minor</i> law (in a non-violent way) in order to bring the public's attention to some OTHER wrong that is <b>FAR, FAR GREATER.</b><br><br>In this case, Scoble has brought our attention to the fact that Facebook is a MASSIVE hypocrite: it constantly screen-scrapes email addresses from other email services, but doesn't allow YOU to do the same to Facebook.  He has also brought to our attention their stellar \"shoot first, ask questions later\" customer service.  And he's making a lot of people think about how dependent they are on the services they use.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-01-06_12:31:38", "killed": false, "user_key": "67ddf598c32d0ae929852af89fa4b272", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9698371": {"up_voted": false, "ip": "", "has_replies": false, "message": "Thanks, Olly. But I was asking about the information belonging to *non members.* Folks who were added to the Plaxo system through a member syncing a database (or running a Facebook script).<br><br>I'm glad Plaxo will notify members before the company is sold. Will they also send notice to everyone I added to my contact list? To the folks that Robert scraped from Facebook into his test account? While you can ask to be removed from a member's address book, can you ask to be removed from ALL member address books?<br><br>I'm not saying that I think the answers to these questions are negative. I'm saying these are questions that should have been asked and answered before running a \"push Facebook's buttons\" script loose on 5,000 of your \"friends.\"", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-01-06_12:30:07", "killed": false, "user_key": "d59d169f280a109c89abfa4c323da89d", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9698372": {"up_voted": false, "ip": "", "has_replies": false, "message": "The DRM that Robert proposes is fine-grained control and what FB already has. You control what can be seen on a per item basis, but it applies the same to everyone. What I'm proposing is computed on-the-fly depending on who you are talking to. The context of the conversation changes the rules.<br><br>Another way to interpret what he is saying is that I have to explicitly set it for each friend. This doesn't scale, especially for 5000 friends.<br><br>The level proposal is a general agreement in principle. Of course, is someone is scum, they will say \"I share nothing\" when, in fact, they will.<br><br>Trust.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-01-06_17:45:17", "killed": false, "user_key": "caa4b7961176f3723ecbec78eb039ad2", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9698373": {"up_voted": false, "ip": "", "has_replies": false, "message": "John, My positive comments were entirely about Plaxo, the contact data sync manager. I was a paid premium member for years.<br><br>Then you introduced Pulse and switched focus to social networking. And now it's not about my contact list as an easy way of getting at phone numbers, it's about the friends of the friends and connections in my contact list. All well and good, but that isn't what I signed up for.<br><br>As I said a few minutes ago in a reply to your comment on my blog:<br><br>\"You can\u2019t be an 'address book service' when it\u2019s convenient, and a social network the rest of the time without drawing these kinds of questions.<br><br>And since you are for sale, you should be very clear about the data you have and the connections you\u2019ve built (and are capable of building) with the profiles of non-members. Your privacy policy says what you won\u2019t do. I want to know what you have and can do, but don\u2019t because you\u2019re ethical. Your buyer may not be.<br><br>An address book service is putting pebbles inside a black cup. A social network is putting pebbles into a clear bowl. Which is it? It\u2019s my position that you can\u2019t have it both ways.\"", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-01-06_05:11:12", "killed": false, "user_key": "d59d169f280a109c89abfa4c323da89d", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9698374": {"up_voted": false, "ip": "", "has_replies": false, "message": "@68  And I'm sure as an employee of Plaxo you don't mind LinkedIn's offering, either.  But you are still missing the point.  Linked in permits their users to do that (and they also require you to PAY them to be able to do that).<br><br>Write or wrong, FB doesn't allow it.  LinkedIn does. The point is the blatant violation of the FB TOS. If I were Plaxo and I really wanted to mine the FB directory, I would have reached out to FB and proposed a service to them that was a win/win so everyone could be up front about what was happening.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-01-06_15:40:34", "killed": false, "user_key": "5c97cdde89fdeb8bd1bb50daacca5326", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9698375": {"up_voted": false, "ip": "", "has_replies": false, "message": "First off, Plaxo spams everyone in your contact list with requests to update.  That, in itself, should show you that importing your contacts into Plaxo is a bad idea (unless you really want to make them ex-contacts).<br><br>People signed up for Facebook and made you a \"friend\".  They didn't give you permission to fold, spindle, and mutilate their personal information via non-Facebook systems, spam them, drop by their RL residence uninvited, or stalk them.<br><br>Your actions are one of the reasons  people point out as the evils of social networking.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-01-07_14:37:05", "killed": false, "user_key": "2e41d52b2986c0c63a2f464e34b7b3f3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9698376": {"up_voted": false, "ip": "", "has_replies": false, "message": "#86:  You're being too kind to vendors.<br><br>I've never read a TOS that involved paying money that promised me anything more than a refund if the product failed to perform (and even then the costs associated with getting that refund seem to exceed the refund amount).<br><br>The issue here involving TOSs is an ethical one, not a legal one.  As far as I can see, nobody has broken any laws.<br><br>It seems clear that there are Facebook users here so rabid that they can't conceive of the company being wrong about anything.  Considering their recent and documented excesses, this is quite impressive.  You can indeed fool some of the people all of the time.  But we already knew that.<br><br>I'm starting to think that Google was very lucky to not have gotten involved with this company.<br><br>I feel sorry for some of my friends who have given out so much information on themselves via Facebook to companies that they know nothing about, in exchange for being able to throw virtual sheep or food items at one another.<br><br>I read one post above from someone who had never installed a single Facebook app.   There must be very few people in that category.  The Facebook apps are hardly a replacement for e-mail, photo sharing, blogging or dozens of other things people do on the Internet.  Facebook is in the cat-bird-seat, collecting all the profitable information about their users and leaving the heavy lifting to companies and individuals all over the world, in many cases way out of reach of our legal system.<br><br>The people who have used some of these apps are going to need something like Plaxo, because there will be a flurry of e-mail address changes in the next couple of years as all of this information gets out and the old addresses become unusable.<br><br>#41:  You got the hypocrisy right.  You need more typos in your message though.  It's getting really hard to believe that Facebook started out with an exclusive college user base.  A bit scary too.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-01-07_19:38:17", "killed": false, "user_key": "macbeach", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9698377": {"up_voted": false, "ip": "", "has_replies": false, "message": "Sorry Robert but I disagree with you totally and feel it was wrong for you to import your Facebook \"Friends\" into Plaxo, test account or not, and Facebook had every right to drop your account.<br><br>As one of your Facebook \"Friends\" I followed what you were into, emailed once and awhile and hope you found something I linked to or posted of interest. What I did not do is give you permission to post my email address or personal information to a third party site. It really doesn't matter what Facebook does or does not do with my information as I have given them permission by agreeing to their Terms of Service, that is a none point. It really doesn't matter if there are other tools for doing the same task, the tool is not the issue, the issue was your call to basically crawl Facebook for Plaxo and provide Plaxo with 5,000 valid email addresses.<br><br>You say you wanted to push Facebook's buttons so you ran a script to export information Facebook deems their property and gave it to a third party. Did you run any such script while at Microsoft and provide thousands, millions of email addresses of Microsoft customers to a third party? Of course not because you knew 1) Microsoft would have canned you and likely taking you to court, 2) you considered that information the property of Microsoft, 3) you just knew it was wrong. What's the differnece?<br><br>I follow your Blog, checked out things you did on Facebook, watched for your name in the news or other Blog post and still will but we will have to agree to disagree on this one, you were wrong.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-01-06_00:27:32", "killed": false, "user_key": "6f8b6a442c92947aac77dc2a2f0b0e65", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9698378": {"up_voted": false, "ip": "", "has_replies": false, "message": "Hmm, actually it gets more interesting ...<br><br>Is it then my moral responsibility to turn off \"See My Friends\" to *all* users on FB? Currently I have it as \"Anyone can see my friends\".<br><br>You and I can be friends, but you can't see my friends list because I can't really trust you to use that data in the same way I would.<br><br>This has a big impact on how people use the service since that's how you find your other friends.<br><br>Great! Nice can of worms you've opened here. :-)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-01-05_22:38:10", "killed": false, "user_key": "caa4b7961176f3723ecbec78eb039ad2", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9698379": {"up_voted": false, "ip": "", "has_replies": false, "message": "I agree with Judi. You broke the trust relationship with your friends by exporting *their* personal information to Plaxo ... whom we do not trust.<br><br>But your explicit action is really no different than anyone that adds any third party application to FB. That application can access your entire friends list even if those people did not add that application.<br><br>This is an interesting dilemma since now I not only have to trust FB, but I have to trust all my friends with my profile data.<br><br>PS&gt; Plaxo cannot access the email information from FB (look at the API), but they can get enough data to make the matching to existing contacts pretty easy.<br><br><a href=\"http://developers.facebook.com/documentation.php?v=1.0&amp;method=users.getInfo\" rel=\"nofollow\">http://developers.facebook.com/documentation.ph...</a>", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-01-05_22:22:42", "killed": false, "user_key": "caa4b7961176f3723ecbec78eb039ad2", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9698380": {"up_voted": false, "ip": "", "has_replies": false, "message": "\"TOS\"", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-01-05_18:10:07", "killed": false, "user_key": "5c97cdde89fdeb8bd1bb50daacca5326", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9698381": {"up_voted": false, "ip": "", "has_replies": false, "message": "@44 \"Right, so, because inequality exists and we\u2019ll never be able to completely eradicate it, we should just give up on reducing it at all?<br><br>It\u2019s not even a slight inequality we\u2019re talking about. We\u2019re talking about Facebook screen-scraping millions of addresses out of Hotmail, Yahoo! Mail, and Gmail (in flagrant violation of each one\u2019s ToS), but Facebook yanking Scoble\u2019s account just for mere appearance of doing the same damn thing?\"<br><br>Whether Scoble read them or not, or even understood them, he agreed to FB's TOX by creating an account. So, what FB does or doesn't do wrt to other systems is irrelevant to this issue. Scoble violated terms he agreed to.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-01-05_18:09:41", "killed": false, "user_key": "5c97cdde89fdeb8bd1bb50daacca5326", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9698382": {"up_voted": false, "ip": "", "has_replies": false, "message": "This is ridiculous.<br><br>Fortunately I did not befriend you on Facebook, so I am not giving my data to Plaxo.<br><br>Oh s**t, I forgot I have an account on Plaxo... Let me go remove it right now.<br><br>Open you eyes, people!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-01-05_17:56:13", "killed": false, "user_key": "c41040a2293e81bf3557319acb3e6985", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9698383": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert, you're right on the money about there being little difference between running the script and manually gathering your friends' email addresses.  The Facebook \"solution\" of making the email addresses into image files is just another DRM-like pretense.  I covered this in more detail <a href=\"http://bjimba.blogspot.com/2008/01/facebook-scoble-and-russells-law.html\" rel=\"nofollow\">in this blog post</a>, and Kevin Gamble also addressed the issue <a href=\"http://blog.k1v1n.com/2008/01/trying-to-stop-bots-is-stupid.html\" rel=\"nofollow\">here</a>.<br><br>I think your alpha test should be compared to DVD-Jon's CSS code -- a concrete demonstration of the futility of trying to \"encrypt past the intended recipient\".", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-01-05_17:37:21", "killed": false, "user_key": "4a6c62d535f1c94123b9912635386c57", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9698384": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert,<br><br>Your arguments are wholly logical. Unfortunately, \"privacy\" is an emotive issue that makes people fearful and illogical. That said, looking at the rapid evolution of technology and society, there's only one way all this stuff is going to go\u2014and that's the way you're going. So thanks for blazing the trail. : )", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-01-05_17:36:21", "killed": false, "user_key": "45c7fb8bbfcf2d946853a218d3d76481", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9698385": {"up_voted": false, "ip": "", "has_replies": false, "message": "OK, I'll ask the obvious question.... which is it, Robert? Were you pushing FB buttons fully knowing the likely outcome (like you talk about today) or were you shocked and surprised at what happened (as you implied yesterday)? I'm having a hard time following your position here...<br><br>Further, I find it a ridiculous argument to say that you just used this data in a test account. Where does that account live? The data is stored somewhere, right? Are you involved in a formal relationship with Plaxo enough to ensure that this \"test\" account isn't going to roll your 5,000 bits of new data into the larger master database? Either man up and admit you have a formal relationship with Plaxo or agree that there are enough unknowns here that you've made a mistake in trusting them so implicitly.<br><br>The real issue in this discussion is one of context. The context of when and how I'm asking for my Gmail info (a practice I neither support or agree with, FYI),  is one of limited use and specific purpose. The context of what this Plaxo script is doing is far more broad reaching. And given Plaxo's previous reputation (which adds to the context), who's to say that once they get out of beta they wouldn't extend the collection of data past name, email, birthday alone?<br><br>Context matters.<br><br>Adding to your personal address book is a different context than adding to the corporate database of a  business known for spamming.<br><br>I'm not saying you should, necessarily, have gotten permission to do this, but I'm saying we all should start applying more common sense to the way we handle this implied trust inherent in the friending process.<br><br>Since you've given contradictory positions about what this whole debacle was based on (beta test and/or poke at FB), it's hard to know what your real motivations are here. But whether this was a beta test or some sort of civil disobedience, the fact remains, you made your 5,000+ FB contacts unwitting accomplices in that process.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-01-05_17:23:11", "killed": false, "user_key": "ddb8ec9d157b68738a1511e547446929", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9698386": {"up_voted": false, "ip": "", "has_replies": false, "message": "Well said Robert. I told the same thing when I responded to Jermiah and others in his post.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-01-05_14:53:05", "killed": false, "user_key": "04f327f032df043846baa7474b8e6aff", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9698387": {"up_voted": false, "ip": "", "has_replies": false, "message": "\"When using the Gmail importer in FB, it is name and email address only.\"<br><br>And how do you know that Facebook doesn't actually harvest everything else?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-01-05_14:35:30", "killed": false, "user_key": "60e2e20c87f61f274fdc2047ee431404", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9698388": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert - man you're one stubborn guy. Haven't done my homework? Let's see, it's not too difficult to see you hadn't responded to a blog post (fact). I showed up at your live mogulus show and asked you specific questions (you answered one of them in a strange way)<br><br>RE: \"Did you NOT want me to use that for my own purposes? What rules do you put on our friendship?\"<br><br>This depends on what you mean by \"my own purposes\" -- I expect as a <b>matter of professional courtesy</b> that my contact information isn't put in a service that has any history of spamming <b>period</b> by other contacts.  That goes for every professional and personal contact, regardless of how good a friend they are or not.<br><br>Robert, really, is this that difficult a request? It's professional courtesy!<br><br>I'm not totally surprised by this. When we met up at  Northern Voice we were sitting there in a group talking and your wife walked up to us and you didn't bother to introduce her to any of us there.  That included Marcus from Plentyoffish.<br><br>Remember that day and awkward moment? I sure do. Manners and professional courtesy are something you apparently have to work a little harder at, Robert.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-01-05_14:36:55", "killed": false, "user_key": "de98c1924472930f24b84f40187c3b86", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9698389": {"up_voted": false, "ip": "", "has_replies": false, "message": "<blockquote>And, I made it clear in this post that I didn\u2019t use your information and neither did Plaxo. We wanted to make a point. And we did.</blockquote><br><br>So let's say I DDOS your site.<br><br>But I only did it to make a statement.<br><br>We're still cool, then, right?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-01-05_15:03:04", "killed": false, "user_key": "c66b5c2859aa4dac7afe61c0596deedf", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9698390": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert,<br><br>I have no idea what Plaxo is. But I think that facebook already lets you configure what your friends can see from their profile.<br><br>If you add somebody as a friend, you are giving them the information in your profile. That is what facebook is for!<br><br>I think that some of the people on your friend list wanted to have somebody famous there, and now complain that this famous person has their details in his hands ready to try and import elsewhere. I hope that they learn something from the experience.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-01-05_14:34:08", "killed": false, "user_key": "3630b12fa5114af032a20e2d202b62af", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9698391": {"up_voted": false, "ip": "", "has_replies": false, "message": "Wills. The Facebook importer was only bringing it name, email address, and birthday. Much like GMail importer.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-01-05_14:31:27", "killed": false, "user_key": "212f7273f5054e75f642829f8c1624f7", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9698392": {"up_voted": false, "ip": "", "has_replies": false, "message": "On the topic of Gmail imports into Facebook - I think this is the real cause of concern... Don't forget that when you hand over your username and password that you're not just giving Facebook (or any other similar service) access to your contacts list - you're giving them access to your entire inbox, calendar, blog posts (if you use Blogger), your photos (if you use Picasa), your search history, documents, spreadsheets, etc, etc, - basically any Google service that you have associated with your Google Account.<br><br>Why aren't more people up in arms about that?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-01-05_14:32:09", "killed": false, "user_key": "4c1d47d0349b07db72eaac47fac2b3e3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9698393": {"up_voted": false, "ip": "", "has_replies": false, "message": "I'm with Judi, your credibility took a hit on this one, Robert. One of these days maybe you'll figure that out and apologize like you've done for other boneheaded moves in the past. Trust wounds heal more slowly than others though.<br><br>If you are signed up for a service that spammed anybody even *once* nevermind if it was 3 days ago or 3 years ago <b>spamming is in their DNA</b>. Trust in both you and the service goes down (the service more than you, yes, but you still take a hit for putting your contacts in a spammer's clutches).<br><br>You are being either extremely naive or ignorant if you can't connect these dots.<br><br>Fact: you didn't care to ask any of your 'friends' if you could run some covert bot to extract this information and give it to some third party.<br><br>You seem to think this was cool, but if even one of your 'friends' protests, <b>it's not</b>. And you seem to miss the point entirely (or don't respect like you don't respect TOS) that your 'friends' gave Facebook permissions though the TOS, not you.<br><br>I can't believe you don't respect <i>all</i> your 'friends' wishes a little more? Despite this stupidity, I'm trying hard to believe you're a better guy than this.<br><br>I brought up this trustworthiness issue the day it hit the fan and your response was silence: <a href=\"http://www.makeyougohmm.com/20080103/5022/\" rel=\"nofollow\">http://www.makeyougohmm.com/20080103/5022/</a><br><br>Whatever.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-01-05_14:13:26", "killed": false, "user_key": "de98c1924472930f24b84f40187c3b86", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9698394": {"up_voted": false, "ip": "", "has_replies": false, "message": "Graywolf: I'm not blaming anyone. I know what I did and take full responsibility for it.<br><br>But talking about the grown up world of adults: in the grown up world we don't let one person go 85 MPH on the freeway, while we try to ticket other people for going 59.<br><br>Which is exactly what you are doing here.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-01-05_14:13:14", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9698395": {"up_voted": false, "ip": "", "has_replies": false, "message": "Oh, yes. Thanks, Robert. Yes, I head up marketing there. It's certainly been an interesting week. Everyone knew data portability, in general, and friends-list portability, in specific, were going to be key topics and trends for 2008. Looks like the market needs a bit more sorting out, so glad there is such lively debate. In the meantime, we've put the Facebook Import project on hold, pending direct discussions between Facebook and Plaxo product teams.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-01-05_14:14:21", "killed": false, "user_key": "212f7273f5054e75f642829f8c1624f7", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9698396": {"up_voted": false, "ip": "", "has_replies": false, "message": "I wasn't upset when Facebook wanted to import my Gmail address book, because Gmail allows such a thing to be done, and Facebook gave me the option of not doing it in the first place.<br><br>Huge difference.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-01-05_14:14:25", "killed": false, "user_key": "ce2522f7c1c718bdfc668c8e74cb0633", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9698397": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert, the reason why I don't trust you has nothing to do with you, personally. I don't know you beyond your blog and you don't know me beyond mine. We haven't earned each other's trust yet through any kind of meaningful communication. Until I blogged about you, I was just one of the masses. ;-)<br><br>I never put a halo on Facebook, but that wasn't the point of my post. No one at Facebook is going to find you on Facebook unless you have an account there, at best they have an email address as someone tried to add you as a friend. As you learned, you can disappear quite easily. No one at Google is going to find you on Gmail (beyond how you may appear in a To: field) unless you have a Gmail address. Plaxo knows my name, address, phone number, email address, and other information about me including who my friends are, and I have no control over that.<br><br>Why? In part because Plaxo built their business marketing themselves as a utility for data management. That's why you wanted to use it, and that's great...for you. But *think* about what you're feeding them and what that information in the wrong hands could mean. If Facebook turns ugly, everything  that I brought to the table is in a small, walled garden. I hit the delete button and it's gone. That's my safety net.<br><br>I had absolutely no problem with Plaxo and was a Premium paid member until they introduced Pulse and their tone/direction changed. Spam should be the least of our worries.<br><br>I won't be comfortable with Plaxo until I have the option of completely removing all traces of my information from their servers, if I so choose. Facebook hits Gmail long enough to ask \"are you a member?\" and then gives you the *option* of asking your contacts \"do you want to be a member?\" Plaxo *retains* what they get about ME from their interactions with YOU, and that's what I don't like one bit.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-01-05_14:39:12", "killed": false, "user_key": "d59d169f280a109c89abfa4c323da89d", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9698398": {"up_voted": false, "ip": "", "has_replies": false, "message": "I don't think anybody has a problem with their email address being in your Outlook or Gmail account Robert. But most have a problem with it being in Plaxo's database.<br><br>It isn't just about email addresses either.  We put up information in Facebook for the benefit of our friends, not for 3rd parties.  One can presume that using this tool, Plaxo (who are looking for a sale), can easily get my work information, interests, mobile number, date of birth, IM data, address and so on.<br><br>How can you not realise how much of a security issue that is?<br><br>When using the Gmail importer in FB, it is name and email address only.   Huge huge difference.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-01-05_14:28:50", "killed": false, "user_key": "e900b5e442d0c352c96824535d291bb4", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9698399": {"up_voted": false, "ip": "", "has_replies": false, "message": "\"It is a violation of GMail terms of service to do an import to another service.\"<br><br>So it's against FaceBook, against GMAIL but apparently fine with Scoble.<br><br>This is why we need ONE CENTRAL IDENTITY", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-01-05_14:39:03", "killed": false, "user_key": "9d21912a45fa96b9bf1a1ff4e5600a3e", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9698400": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert, exactly.<br><br><a href=\"http://bub.blicio.us/?p=614\" rel=\"nofollow\">http://bub.blicio.us/?p=614</a>", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-01-05_13:37:54", "killed": false, "user_key": "briansolis", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9698401": {"up_voted": false, "ip": "", "has_replies": false, "message": "Wills, those importers state that they are not storing your username and password. Of course, the whole point of them is to get your address book in so you can find your friends there and invite others in.<br><br>Plaxo is a bit different, in that we have always been a networked address book service. So our users are using import or sync to build up a unified address book. Whatever data is retained is what the user decides to retain.<br><br>So, if Robert deleted those folks from his account, that data is erased. It's Robert's address book, and we host it and sync it with whatever tools and services he wants us to, such as Outlook or the Mac address book.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-01-05_14:26:48", "killed": false, "user_key": "212f7273f5054e75f642829f8c1624f7", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9698402": {"up_voted": false, "ip": "", "has_replies": false, "message": "When I heard about the incident I immediately recalled how you responded when blogger Harry Joiner's account was shut down by Facebook for importing his entire email address book:<br><br>On comments:<br><a href=\"http://www.facebookobserver.com/facebook-news/banned-on-facebook\" rel=\"nofollow\">http://www.facebookobserver.com/facebook-news/b...</a><br><br>What makes the Plaxo script different?<br><br>With regards to data portability, you claim to have added 4200 (you have more now) one at a time and from the comment it seems this is the way to connect to others in social networks. Do you feel differently now?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-01-05_18:53:32", "killed": false, "user_key": "1fc0da0962bd214317912c4a21dd166c", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9698403": {"up_voted": false, "ip": "", "has_replies": false, "message": "Johan: OK, so you're OK if I manually put your email into my Outlook or Gmail account from Facebook, right? Just because that didn't technically break Facebook's terms of service, is there really any difference there?<br><br>Interesting how many of you are supporting bad TOS's and ones that live by different rules than most of its competitors. Right, you LIKE IT that Facebook is a data roach motel. I don't.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-01-05_14:22:31", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9698404": {"up_voted": false, "ip": "", "has_replies": false, "message": "Hey Robert here in the grown up world of adults when we do something wrong we take responsibility. We don't sit around blaming other people creating diversions for our transgressions. Saying things like \"oh yeah well facebook did it\" doesn't solve the problem, it only makes you look like a whiny 5 year old spoiled brat.<br><br>now stop being an attention whore and go play nice with the other kids in the playground ... mkay", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-01-05_14:08:21", "killed": false, "user_key": "94f59ae31a1c602b52150d9abaa09b56", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9698405": {"up_voted": false, "ip": "", "has_replies": false, "message": "It should be noted that John McCrea works for Plaxo. Thanks John!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-01-05_14:09:04", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9698406": {"up_voted": false, "ip": "", "has_replies": false, "message": "robert you really are delusional enough to believe we live in an egalitarian world where everyone is equal? Seriously?<br><br>I know they told you everyone was beautiful on the inside back in kindergarden, but really that's just a lie that tell fat, ugly, or stupid kids so they don't feel bad.<br><br>And if you did take responsibility and weren't being a whiner you would have resolved the entire issue with facebook privately first, instead of vomiting the mess you created all over the internet first. Of course that would have gotten you much less attention, traffic and links, which is what I think was part of your plan all along.<br><br>If you are going to be an attention whore fine admit it up front don't hide behind the guise of championing for the freedom of my data, when what you really are working for is feeding your ego and increasing your exposure above all else.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-01-05_14:21:24", "killed": false, "user_key": "94f59ae31a1c602b52150d9abaa09b56", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9698407": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert,<br><br>hm - I like the Plaxo services very much, and I read your blog regulary. However this time I believe both you and Plaxo are wrong. Sorry.<br><br>Why?<br><br>Well, #1: You say<br>\"What if I wrote down Judi\u2019s email and then manually put it into my Outlook\u2019s contact database. Wouldn\u2019t that have been exactly the same thing that I tried to do with Plaxo\u2019s script?\"<br><br>No. Facebook's ToS specifically states that automatic scripts are not allowed. You might not like this (and neither do I). But if you use a service it is expected that you follow the \"code of conduct\" for the service. Or?<br><br>#2: You say:<br>\" why is it OK for Facebook to import all my Gmail email addresses? Why aren\u2019t you screaming bloody murder about THAT? After all, did anyone on Gmail approve me to import their email addresses to Facebook?\"<br><br>I have not looked detailed at the Gmail ToS, but as Gmail seems to pubslish an API to export or retreieve the contacts it is OK with them (or?). So Gmail allows you (not Facebook) to actively retreive your contacts. And the fact that *you* decide to do this with Facebook and their ToS is actually your choice. Or?<br><br>#3 finally. You say:<br>\"I have NOT used any of the data I collected using Plaxo\u2019s service. That all went into a separate test account and I\u2019m not using that data and neither is Plaxo\"<br><br>OK - great. That means that if I broke soem kind of ToS (like the law?) and stole your money *but* put he money in a special bank account and didn't use it it's OK. Is that what you're saying?<br><br>All in all. I still like you and Plaxo. But I don't agre to the arguments in this blog post. Having said that - a little \"Killer Attitude\" is always good... ;-)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-01-05_14:18:03", "killed": false, "user_key": "f1ffda84bd1bb9f011d80019b25f1d46", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9698408": {"up_voted": false, "ip": "", "has_replies": false, "message": "@ John<br><br>Pretty much every web importer I have seen so far says that they do not store the information after use. It is there for two reasons. 1) to see if you have any contacts already using the service.  2) send those who arent an invite (opt in)<br><br>Can you confirm that Plaxo does NOT retain ANY profile data from Facebook scraping?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-01-05_14:18:40", "killed": false, "user_key": "e900b5e442d0c352c96824535d291bb4", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9698409": {"up_voted": false, "ip": "", "has_replies": false, "message": "TDavid: I think you totally haven't done your homework here. I haven't been silent at all about the trust issue. Heck, this whole thing is, what, 48 hours old? Give a dude a chance to take on the issue. Do you have any clue how many pieces of feedback came my way over the past two days? I still haven't read it all.<br><br>And, I made it clear in this post that I didn't use your information and neither did Plaxo. We wanted to make a point. And we did.<br><br>By the way, you gave me access to your email when you friended me. Did you NOT want me to use that for my own purposes? What rules do you put on our friendship?<br><br>I guess now I know what they mean when they say that 5,000 people can't possibly be \"real\" friends. Real friends don't mind when I try to put their email address into Outlook or Gmail.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-01-05_14:19:45", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9698411": {"up_voted": false, "ip": "", "has_replies": false, "message": "Slobokan, not quite right:<br><br><a href=\"http://paulbuchheit.blogspot.com/2008/01/should-gmail-yahoo-and-hotmail-block.html\" rel=\"nofollow\">http://paulbuchheit.blogspot.com/2008/01/should...</a><br><br>It is a violation of GMail terms of service to do an import to another service.<br><br>Also, the analogy is flawed. It is not a question of whether Facebook gave you an option not to do it. The analogous question is whether you had to seek permission from Google and from the people in your address book.<br><br>You violated GMail's terms of service (just as everybody else does.) Google doesn't enforce them, because Google knows that the data really belongs to the user, and they would look like the bad guy if they didn't let you take your address book with you.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-01-05_14:19:54", "killed": false, "user_key": "212f7273f5054e75f642829f8c1624f7", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9698412": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert,<br><br>I am a new-ish reader and have heard mixed things about you and your opinions in the past. I just want to say that your recent comments on the google reader debacle and this new 'scoblegate' have given me full confidence in your ability to be rational and reasonable in the face of mass hysteria and privacy fear-mongering in the blogosphere.  You've officially locked me in as a reader!  I'm sure you're so excited :)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-01-05_14:01:00", "killed": false, "user_key": "2fc3fec9f6dc3056ca46e2797827dcf1", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9698413": {"up_voted": false, "ip": "", "has_replies": false, "message": "I also want to make the point that many people use their real email addresses in Facebook. Often to get access to employer networks. If I was signing up to Plaxo, it would almost certainly be with a \"spam\" address. Yet you have given Plaxo my personal and work email address. Great.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-01-05_14:04:33", "killed": false, "user_key": "e900b5e442d0c352c96824535d291bb4", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9698414": {"up_voted": false, "ip": "", "has_replies": false, "message": "Great post, Robert. You beat me to it.<br><br>For everyone who thinks that they should be asked for approval before their email address is uploaded to Company X or Company Y (after some thorough, individualized assessment of the trustworthiness of said company), consider this: if you know anyone who uses webmail (such as GMail, Hotmail, or Yahoo! Mail)and they send you an email, oh no! You're email address is now stored in that webmail provider's servers.<br><br>There is such an amazing double-standard \"logic\" floating around this discussion. I suspect a majority of the folks on the other side of this arguement have at one time or another used a webmail import feature on Facebook, LinkedIn, or some other service -- without first asking the permission of everyone in their address book.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-01-05_14:06:27", "killed": false, "user_key": "212f7273f5054e75f642829f8c1624f7", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9698415": {"up_voted": false, "ip": "", "has_replies": false, "message": "For those of you who are objecting to being added to Plaxo's database, you are probably already in their - not as a registered user but as one of your friend's / colleague's address book contacts.  Let me explain...<br><br>I'm one of those people who stayed away from Plaxo several years ago because of the spam issues.  I started using it again several months ago because they rolled out a free service to allow you to synchronize multiple address books: Outlook, your Apple Address Book (which synchronizes to my iPhone), etc.  Right now, I have over 500 contacts in my Plaxo address book bit only about 5% of those contacts are actually registered with Plaxo.  The other 95% are their for my personal use - i.e. none of them were \"spammed\" by Plaxo asking them to join.  I have the option to invite them to join Plaxo but so far I have chosen not to do so.  Long story short, many of you who are not registered with Plaxo are already in their \"database\" without your knowledge.  And this has nothing to do with the Plaxo script that Robert ran.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-01-05_14:06:43", "killed": false, "user_key": "8f3a986273ce85a2bc59fd6c4966e41c", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9698416": {"up_voted": false, "ip": "", "has_replies": false, "message": "Facebook is focused on a system of smaller walled off gardens within its boundaries. I have chosen to not let members of my networks browse my profile unless I am friends with them. I have a fairly strict policy of only adding people I am comfortable enough with having not only my email address but my home and mobile numbers (which are on my Facebook profile). In that way, I don't care if you use Plaxo or another service to synchronize my information--you're a friend and I trust you.<br><br>I think this is so comical. People are honestly complaining about you synchronizing their email address and other contact information after they added you as a friend. Beyond becoming just another member of the \"oh my gawd look how popular I am by the number of friends on my list\" crowd, what was the point of adding you?<br><br>I use Plaxo myself to sync contact information across my multiple email accounts. The company's case is helped by the fact that I have a few friends within the company involved in several very public alpha/beta stage projects. The day that Plaxo violates my trust is the day I pull the plug on my account. Until that day, if you add me as your friend on Facebook or give me your number then I will use it as I see fit within the boundaries of our real-life friendship.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-01-05_14:00:44", "killed": false, "user_key": "419af816abd9f25721a739f7a2aefdf6", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9698417": {"up_voted": false, "ip": "", "has_replies": false, "message": "Wills: &gt;But when you put it into Plaxos database, it crosses the line, given their reputation.<br><br>I've been on Plaxo ever since the beginning and, while they spammed my friends three years ago, they haven't done that since and have changed their policies.<br><br>Anyway, the reason I was using Plaxo was to see if I could get my stuff into Outlook without having to do it manually.<br><br>Oh, and Outlook already shares its info with Plaxo. So, if I manually add your stuff into Outlook it automatically gets into Plaxo anyway, if I choose to share it there. You might do some homework on it.<br><br>Plaxo has been completely rewritten in the past year, by the way. So, if you had problems with it earlier you might look at it again.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-01-05_13:50:12", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9698418": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert, your arguments are getting better. But I don't mind you using my email address, I am one of your facebook contacts. It is just I have a serious dislike for Plaxo. Were they not spamish a few years ago? Also I deleted my Plaxo account months ago. I cannot log in. Yet I still get mails form people asking me to add them to theeir contacts. The only difference is that now I know most of them. When I was a member of Plaxo I was getting connections with all sorts of middle management guys form companies I do not know and who were not in my 'field of interest'. It is a real pain to be just saying 'no' and not really bumping into anyone you know. All I can say is that even though Facebook can be a real pain in the rear, up to now I have had a far more positive experience there than at Plaxo.<br><br>I hope that if you do make Plaxo your primary social network that you keep your Facebook channels open. There are people who will not follow you over.<br><br>Seriously. Open is the way forward. If something better comes along I will sign up, but IMHO plaxo is not is. Plaxo is also for sale. That makes me question the authenticity of what teh Plaxo guys are trying to do right now. What the next owners will do is anyones guess. I posted my own <a href=\"http://doncrowley.blogspot.com/2008/01/scoble-has-been-taken-for-ride-by-plaxo.html\" rel=\"nofollow\">two cents</a> about all this over on my own blog. Remember most of the stuff promoting data portability is very fresh and not widely available yet. I also wonder what if anything openSocial will play in this. I think openID and openAuth and plain old RSS provide us with a multitude of possibilities (future tense).", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-01-05_13:58:25", "killed": false, "user_key": "1f8e7b0610bf12287e239d32c2a9ae66", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9698419": {"up_voted": false, "ip": "", "has_replies": false, "message": "I've done my homework on Plaxo. I know their product inside out.<br><br>I meant getting info into Outlook as it is meant to be used. Not with their plugin.<br><br>Quite frankly I do not trust them to hold a database of information on ME, with data scraped from my Facebook profile.  Especially as they are now looking for a sale.<br><br>If they were merely a sync utility between address books, then fine. But they are a social network too, with the likes of Pulse, and hold all of that date on their servers.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-01-05_13:54:33", "killed": false, "user_key": "e900b5e442d0c352c96824535d291bb4", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9698420": {"up_voted": false, "ip": "", "has_replies": false, "message": "About your last question - I actually was all up in arms when Facebook asked for my GMail password. for 2 reasons. first, I don't trust them enough to give them my password. second, and more important - I don't think my friends' e-mails are *mine* to give. my friends gave me their e-mail addresses for a certain reason - so i can send them e-mails (and IM and so on), but no for me to sell them to 3rd parties that would start spamming them! when i have no other choice i give my friends e-mail to 3rd parties (i have to give them to Google, to be able to send mail). If a friend of mine is already on facebook, i find them by name, and not by email.<br><br>now what am i saying by all this? that your friend's data in not yours. you can use it, but you shouldn't give it to others without your friends permissions. for example you can have Plaxo script use the emails to look for your friends who are already registered with Plaxo, as long as they don't use, and don't even save e-mails of those who are not.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-01-05_13:54:38", "killed": false, "user_key": "4437e31fa0c1333736b30c9543891198", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9698421": {"up_voted": false, "ip": "", "has_replies": false, "message": "Try and look at it this way.<br><br>Imagine you and I went to school with Plaxo. You got on well with Plaxo but I thought they were a dick.<br><br>Facebook comes along and Plaxo adds people they know the names of. I get the request but ignore it because I thought they were a dick. You however add them because you got on well.<br><br>Plaxo is round yours one night and asks to use your facebook profile to check out my profile seeing as they can't see it. You say that's cool.<br><br>I wouldn't be happy about that because I refused that person friend request for a reason.<br><br>What you've done with their script is exactly the same. They've essentially logged in as you and checked out everyone's profile because they couldn't see it any other way. You could argue that it's fraud to a certain extent.<br><br>I'm all for open data but this is just a backward way of going about it. I'm glad I removed you from my friends list ages ago because there's no way I'd want my data anywhere near Plaxo. I'd much rather there was a way that Plaxo could send a request to retrieve my data on your behalf. That way I can click ignore. That would be the correct way of doing things. You've just assumed that if someone is your friend on Facebook then they'll happily be your friend on Plaxo. That's just shortsighted.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-01-05_16:06:21", "killed": false, "user_key": "2e565a49ed79826a0118f69ae0ea2f56", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9698422": {"up_voted": false, "ip": "", "has_replies": false, "message": "<blockquote>why weren\u2019t you all up in arms when Facebook imported your data and your friends email addresses from Gmail?</blockquote>I wasn't upset, because it didn't happen.  I do not provide that kind of data.<br><br>Robert, are we to assume that the e-mail address we provide you here at <a href=\"http://Scobleizer.com\" rel=\"nofollow\">Scobleizer.com</a> to post a comment is shared with other social networks?<br><br>What line do you draw with using someone else's personal information?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-01-05_17:13:36", "killed": false, "user_key": "cee17d590423b408a3410167ba6ae5b4", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9698423": {"up_voted": false, "ip": "", "has_replies": false, "message": "Dead on<br>People need to take a bit more personal responsibility. If you give any details to any-one, anytime, through any means, NOT just with the internet, or facebook, you have given your trust to that person to use that information responsibly.<br>If they don't, woops. But really, if it is a friend, moving it, whats the deal. When they move it, do the stop being a friend? Do they automajically change? So Robert decides to use Plaxo to store MORE than 5000 email contacts? that just proves 2 things<br>1. Facebooks limit is restrictive to (some) members<br>2. To stop scripts, and \"Napkin\" transfers, they need to make it EASY and controlled! (Ie. tell those involved if you like... \"Robert Scoble has Hijacked your name and taken it to another, competing, profit-driven service...\"... sorry)<br>To summarise, if you give you details to the phone company, the bank, the nieghbor... they will all pass on some details sometimes.<br>The question is why.<br>Is it to profit?<br>Is it to smam...<br>The issue is not portability, but control, and visibitily.<br>Make it easy, make it obvious, and inform those affected, (and in future inform up front of possibilities).", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-01-05_16:41:21", "killed": false, "user_key": "2abee265bc57211fe7d046357ac9f81b", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9698424": {"up_voted": false, "ip": "", "has_replies": false, "message": "@86  Not a Facebook user. Nice try.  I see private investigating in your future.<br><br>\"The issue here involving TOSs is an ethical one, not a legal one. As far as I can see, nobody has broken any laws.\"<br><br>No, it IS a legal one.  There's civil and criminal law.  This has to do with civil law, which more often than not doesn't involve law breaking.  The user, when signing up, is given adequate opportunity to read and view the TOS, and also has to AGREE to them.  Basic contract law 101.<br><br>\"I\u2019ve never read a TOS that involved paying money that promised me anything more than a refund if the product failed to perform (and even then the costs associated with getting that refund seem to exceed the refund amount).\"<br><br>I find that difficult if not outright impossible to believe.  If you've ever opened a box of software you've agreed to similar Terms of Use, also known an End User License Agreement.  If you've ever downloaded beta software you've agree to similar terms of use; particularly in the are of indemnity and the company's responsibility for your data when using your software.  My guess is, you've agree to similar types of TOS's. Whether you actually read them or not is another question.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-01-08_00:01:06", "killed": false, "user_key": "5c97cdde89fdeb8bd1bb50daacca5326", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9698425": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert, as a Plaxo shareholder, I applaud every one of your Plaxo posts. This is saving Plaxo buukuu moola in PR expenses. No, wait, they couldn't afford this much publicity. I think a Plaxo post every other day should get us a pretty nice asking price in the February timeframe (Porsche HERE I COME!!!) Keep up the GREAT work!!! YOU ROCK!!! Oh yeah, and thanks to the entire internet for providing all your contact info to Plaxo's databases!! (SPAM=CASH MONEY!!!)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-01-05_16:55:01", "killed": false, "user_key": "a245aceab767288adef2b00fc9be2bff", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9698426": {"up_voted": false, "ip": "", "has_replies": false, "message": "Wow - this discussion is fascinating.  It's obvious people are still as passionate about privacy issues as they were a year ago when I left my position as Plaxo's Chief Privacy Officer. While I'm no longer associated with Plaxo, I wanted to share my own thoughts on the matter.<br><br>First, as long as people disagree on who owns PII (Personally Identifiable Information), there will always be disagreements over privacy.  To me, it's very clear - any PII data I possess through legitimate means, is my information.  It may be information about me, my pet, my family, or my acquaintances... but the information is still my information... and I may do with that information whatever is legally permissible.<br><br>If I post my information (or a subset) someplace where others can access it and read it... the source is still my information, but if others make a legitimate copy of the data, then that copy is now THEIR information. There is no copyright protection for contact details.  If I don't want others to have it, I should take better care when posting. By posting information in a public place, I should have full understanding of the possible implications.<br><br>People are free to use their information as is legally permissible.  Different countries may have different types of restrictions and laws when it comes to PII.  But there is no country I'm aware of that prohibits the possession and storage of PII for personal purposes.  Furthermore, there is no country that requires permission from the data subject in order for a data owner to posses and store PII information for personal purposes.  Thank goodness for this, cause imagine the lunacy of requiring permission from the data subject everytime you wished to save their Name, email address, or phone number.<br><br>In Scoble's case, my understanding is he had legitimate access to the information and therefore has the ability to make the information his own. TOS issues aside, whether he writes the information down on his own, or uses some other tool, it's simply a matter of degree and effort. I think it's a stretch to describe's FB's TOS prohibiting automated screen scraping as an effort to protect members' privacy. FB already protect's members' privacy by prohibiting unauthorized access to members' information, regardless of what mechanism is used. Specifically prohibiting automated tools is more likely to protect the service from service attacks as well as maintain vendor lock-in, which I think is partially Scoble's point.<br><br>But one thing I do appreciate is FB statement regarding data ownership: Facebook doesn't own a member's data - the member does.  This was one of the main principles we established at Plaxo and I'm happy to see other services have picked up on this as well.  While I was at Plaxo, the basic privacy principles we established were: the member owns their information and decides who will have access to it; the member maintains ownership of their data at all times, even if the company is sold or merged, and the member can add, delete, or modify their information at any time. Read the privacy policy of other popular services, you'd be surprised how many of them service DON'T state this.  Does this mean that THEY own their user's data???  It's scary.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-01-08_18:45:31", "killed": false, "user_key": "05f86526a0ad23546de121e6d6d04e51", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9698427": {"up_voted": false, "ip": "", "has_replies": false, "message": "I was trying to warn one of my friends with teenage daughters about the dangers of Facebook. It was amazing to me that her daughters were so in love with the program that nothing we told them could possibly make them stop. If anyone has a good way to help explain to teenage girls the dangers that it trully poses for them and their future, please post it so that I can use it. Thanks!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-01-07_23:43:00", "killed": false, "user_key": "e16b83ca43846370fbc56f0c8304b04d", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9698428": {"up_voted": false, "ip": "", "has_replies": false, "message": "Why do you continue to completely miss the point?<br><br>We don't mind YOU having our email addresses from our Facebook profile.  So go ahead, write it down and put it into Outlook. Thats what its there for.<br><br>But when you put it into Plaxos database, it crosses the line, given their reputation.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-01-05_13:47:11", "killed": false, "user_key": "e900b5e442d0c352c96824535d291bb4", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9698429": {"up_voted": false, "ip": "", "has_replies": false, "message": "Jason: and you're wrong, by the way. When I ran the Gmail import it showed me ALL of my Gmail contacts and let me import ALL of them and send them ALL email asking them to join Facebook.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-01-05_13:47:32", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9698430": {"up_voted": false, "ip": "", "has_replies": false, "message": "Jason: how do you know the Plaxo thing didn't ask permission either? In fact, the reason I want Plaxo's feature is EXACTLY FOR THE SAME REASONS YOU GAVE!!!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-01-05_13:46:42", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9698431": {"up_voted": false, "ip": "", "has_replies": false, "message": "Paul: I invited them to test out new features on an account with 5,000 friends. I did that at a Facebook developer conference where I realized that most Facebook app developers don't have accounts with more than 100 or so friends. They needed to test this feature to see if it would survive on large-scale accounts.<br><br>Funny enough there actually are other Facebook applications that do the same thing (the CSV app, for instance) but they don't work on my account because the developers didn't test them on a large-friend network account.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-01-05_13:43:19", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9698432": {"up_voted": false, "ip": "", "has_replies": false, "message": "<blockquote>Is Plaxo a social monster for trying to import? That\u2019s for you to decide, but why weren\u2019t you all up in arms when Facebook imported your data and your friends email addresses from Gmail?</blockquote><br><br>Get your head out of the sand for just one moment and think exactly what Facebook does when it \"imports\" those addresses, it either uses it to match users already on Facebook and allows you to ask permission to add them as a friend OR it can send them an email inviting them to join Facebook if that email address isn't associated with an account.<br><br>See the difference there? The fact permission is asked is a big difference!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-01-05_13:43:14", "killed": false, "user_key": "83e226e176a7a3e8266a385617666a2a", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9698433": {"up_voted": false, "ip": "", "has_replies": false, "message": "Whilst I totally accept that Facebook could/should in theory be simply another tool with which we can sync our contacts (exactly as we do already with Plaxo), I absolutely object to the way in which this was done.<br><br>There is something disturbingly underhand about approaching people to get THEM to do Plaxo's dirty work for them.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-01-05_13:40:14", "killed": false, "user_key": "78838df37bdd48f5508c3d7650a4c6c0", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9698434": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert, to comment back on your comment #28 on my #23:<br><br>In #28 you say:<br>\"Johan: OK, so you\u2019re OK if I manually put your email into my Outlook or Gmail account from Facebook, right? Just because that didn\u2019t technically break Facebook\u2019s terms of service, is there really any difference there?\"<br><br>You're mixing things here!<br>Now, we're not yet connected on FB (I'll send an invite right after this..). When we are connected I can choose what to share with you on FB. And I will select to share my email addresses with you. And you are free to put them in your address book (and if you put them in Plaxo you'll always have my latest updates - that's one thing I  like with Plaxo!)<br><br>Personally I do not care how you get the email out of FB. But as I said in comment #23 - screen scraping is not allowed by FB (it has nothing to do with *me*) I am not that happy with the FB ToS either, but I use FB anyway...<br><br>And also, seems like John in comment #26 took way my second argument in comment #23. I will read up on the facts, but am willing to fold on th second argument. the 1st and 3rd still holds though...", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-01-05_14:59:23", "killed": false, "user_key": "f1ffda84bd1bb9f011d80019b25f1d46", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9698435": {"up_voted": false, "ip": "", "has_replies": false, "message": "You're being deliberately obtuse here, Robert.  Facebook renders e-mails as an image.  There's only one reason to do that, and that's so they won't be scraped.  And that's why I post my e-mail publicly on Facebook - so if you want to use them, you do in fact have to use the 'napkin method', and you aren't some anonymous (often malicious) 'bot.  Email-as-image is a long-standing social convention, used on many many blogs, that says 'hey, humans can use this but I really don't want to make it available to spammers or other address-scraping bots.'  It's no different from restrictions in robots.txt or a CAPTCHA on a web form - humans only.<br><br>As soon as you heard Plaxo was developing character recognition software to go against some very clear user preferences - since there's only one reason to display an e-mail as an image - you should've ran the other way.  Flagrant disregard for implicit but obvious user wishes is a dick move.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-01-05_15:16:03", "killed": false, "user_key": "d9a2b409def9cca7671de3f6844a1283", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9698436": {"up_voted": false, "ip": "", "has_replies": false, "message": "Donald, you're an idiot. I hate to turn it into this but you are. If you add someone on facebook then you gave them permission to see your profile. It doesn't matter if a computer program copies down your info or if I do... scraping is scraping. What happens to your data is then up to the host company (i.e. Facebook) and the people you choose to friend. If you don't like your data ending up in Plaxo or Gmail or Yahoo or Skype or anywhere else then you have the option to hide it on Facebook. Maybe you should have thought twice before adding Robert who you clearly didn't know in person instead of bitching about it on his blog. Now that's a thought!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-01-05_15:13:04", "killed": false, "user_key": "800b9578c32cbc68aa496d3a1d6c5df7", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9698437": {"up_voted": false, "ip": "", "has_replies": false, "message": "\"So, to Judi, why is it OK for Facebook to import all my Gmail email addresses? Why aren\u2019t you screaming bloody murder about THAT? After all, did anyone on Gmail approve me to import their email addresses to Facebook?\"<br><br>Well, because when you created a FB account, you agreed to allow them to do that.  Last I checked, I have the option of NOT doing that if I so choose.  Clearly you failed to either read or comprehend the TOS in FB until you got your hand slapped.  Now you are trying to justify your ignorance by making illogical arguments (most specifically the relativist fallacy). The issue is not about what GMail does or doesn't allow, nor is it about what you may choose to store in Outlook and how you choose to do that. The issue is you blatantly violating FB's TOS AND allow that data to be accessed by a third party company that your friends likely did not give you permission to do.<br><br>That fact that you SAY you didn't do anything with the information once you got it is also irrelevant, and really not the point. If I steal something then decide not to use it, that doesn't make the crime less punishable.<br><br><br>My data on Facebook is what I choose to share with my friends. I am the one that chooses who to add to my friends lists and WHAT data I share with them.  Then I trust the FB will enforce their TOS when these friends violate it. FB's TOS make it clear they won't allow data scraping. By signing up I trust that they will enforce that term.  Frankly I believe they violated their own TOS's when they allowed you back in when you clearly and willfully violated the agreement you made with them.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-01-05_14:56:59", "killed": false, "user_key": "5c97cdde89fdeb8bd1bb50daacca5326", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9698438": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert, you don't seem to understand: Plaxo is bad, they spammed in the past so we can't trust them; Facebook would never do evil things like that - apart from breaking Gmail's TOS, implementing Beacon, etc.<br><br>Plaxo may also be sold in the future, and who knows what the future owners will do with all that data. Facebook on the other hand will never change corporate direction or ownership. I guess you'll just have to trust me on that one.<br><br>I so love me a good double standard...", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-01-05_14:55:58", "killed": false, "user_key": "9811a8b46ed170a7bf74597c68e1b2e8", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9698439": {"up_voted": false, "ip": "", "has_replies": false, "message": "John McCrea,<br><br>No, I personally did not violate their terms of service, because I did not allow Facebook to import my Gmail contacts.<br><br>But, since it is a violation of Gmail's TOS, then it's up to them to enforce them.<br><br>Just because someone else does it, doesn't make it right when you do it.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-01-05_14:40:05", "killed": false, "user_key": "ce2522f7c1c718bdfc668c8e74cb0633", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9698440": {"up_voted": false, "ip": "", "has_replies": false, "message": "Sorry, Slobokan. My error. Too fast typing.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-01-05_14:41:39", "killed": false, "user_key": "212f7273f5054e75f642829f8c1624f7", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9698441": {"up_voted": false, "ip": "", "has_replies": false, "message": "Re \"why weren\u2019t you all up in arms when Facebook imported your data and your friends email addresses from Gmail\"<br><br>That would be because Facebook can't do that unless we give them our gmail details. By giving them our gmail details we are giving Facebook permission to import that data.<br><br>Facebook, on the other hand, have specifically *withheld* permission for you to pull data from Facebook in the way that you did.<br><br>What it all boils down to is you agreed to specific terms and conditions when joining Facebook.  You did not abide by those terms and conditions.  Everything else is red herrings.<br><br>Oh, and just because you can find a way around the terms and conditions (\"write it manually, don't use a script, they'll never know\") is beside the point, and reveals a lack of worrying lack of ethics.<br><br>Perhaps a little less trying-to-beat-the-system and a little more playing by the rules is in order.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-01-05_19:55:45", "killed": false, "user_key": "593a6c05e7c051e37e679f6a5d938da5", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9698442": {"up_voted": false, "ip": "", "has_replies": false, "message": "Hey, there is a new web 2.0 service to counter the trend of over the top media sharing promoted by social networking sites.<br><br>2Pad was developed by 3 French entrepreneurs as the only private photo and sharing service. Using the latest in web technology, such as Ajax, 2Pad allows you to privately share your media from your personal gallery.<br><br>Simply start by sending your media via email to <a href=\"mailto:2pad@2pad.com\" rel=\"nofollow\">2pad@2pad.com</a> and 2Pad automatically creates your personal gallery. We would love you to test it out and send us feedback!<br>Thanks!<br>Susi and the 2Pad Team.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-01-07_04:05:58", "killed": false, "user_key": "4c91f43c2921825797d0b0cfe001b75b", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9698443": {"up_voted": false, "ip": "", "has_replies": false, "message": "@83<br><br>\"You know, back in the day, a lot of people put King, Jackson &amp; Sharpton in the same bucket. Though we have a holiday for MLK now.\"<br><br>And there's a reason we don't have a Jackson or Sharpton holiday.  At one time I'm sure Jackson was a true supported of MLK, given he was there the day King was shot. But then he saw he could make a lot of money preying off of perceived racism.  But...we digress.<br><br>\"I do not know what you mean by \u201cconcerned more about visiblity.\u201d Doesn\u2019t knowing his true \u201cconcerns\u201d involve the ability to read his mind? Scoble says he just wants to try out this Plaxo program, but you (being able to read minds) know that his real motivation is \u201cvisibility,\u201d whatever that means.\"<br><br>True I cannot read his mind.  I can only go by his actions.  I'm sure there is some reason he didn't want to handle this privately and not tell the world what happened. Just like Jackson never does much behind the scenes<br><br>\"The story Scoble commented on (mentioned by Lisa @ 61) was about a guy who took 4,600 addresses out of Gmail, and MASS E-MAILED ALL 4,600 ADDRESSES with invitations to join Facebook.<br><br>Scoble left a comment calling that \u201cspam behavior.\u201d Presumably because it is. :-) If AOL or Comcast sees several hundred messages dumped on their doorstep by a Facebook mail server, Facebook might end up on a spam/UCE blacklist.<br><br>Sending unsolicited email to 4,600 people isn\u2019t the same thing as harvesting 5,000 email addresses. They\u2019re totally different things. You can be against sending email to 5,000 people while being in favor of being able to collect 5,000 email addresses. One involves annoying people and the other doesn\u2019t. :-)\"<br><br>True.  But had he not gotten caught and his hand slapped, we have no idea what Plaxo would have done with the data.  But, given their past history....... True, Scoble says \"he didn't do anything the data\", but we will never know for sure.<br><br>\"Remember, Facebook is one in power here: they\u2019re the ones with the 15 billion dollar valuation, they\u2019re the ones \u201cerasing\u201d people without so much as a WARNING, they\u2019re the ones sponsoring Presidential Debates in New Hampshire. We\u2019re just the people. So yeah, power to the PEOPLE, baby! Can you dig it? :-)\"<br><br>This again is the two wrongs make a right illogical argument.  You do understand the concept of \"participate volunaritly\"?.  Facebook users signed up for this when they created an account.  Shame on them for finding out later how one sided their TOC's are.   Do I agree with them?  No. But, they are really not all that different than other types of FREE services.   The user assumes all the risk.  Until you start paying money, that's pretty much how it is. Users agreed to these terms when they signed up.  Facebook will only change them if they can still legally protect themselves.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-01-06_19:25:58", "killed": false, "user_key": "5c97cdde89fdeb8bd1bb50daacca5326", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}}, "integration": {"receiver_url": "", "theme": 4, "reply_position": true, "disqus_logo": false}, "timer": {"timer_url": "http://localhost:8005", "thread_id": "18347971", "user_id": "anonymous", "forum_id": "125200", "hash": -5670323528439550755}, "thread": {"total_posts": 0, "paginate": false, "per_page": 0, "slug": "plaxo_the_social_monster", "num_pages": 1, "days_alive": 0, "realtime_paused": true, "id": 18347971, "num_posts": 92, "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=plaxo_the_social_monster' +
		'&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/plaxo_the_social_monster/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='	+ 'plaxo_the_social_monster'
			+ '&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/plaxo_the_social_monster/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">92</span> Comments\
	 &nbsp;\
	 <span class="dsq-item-feed">\
	 <a href="http://scobleizer.disqus.com/plaxo_the_social_monster/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/plaxo_the_social_monster/">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/plaxo_the_social_monster/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:18347971" 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'				: 'plaxo_the_social_monster',
			// 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/plaxo_the_social_monster/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='	+ 'plaxo_the_social_monster'
			+ '&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='	+ 'plaxo_the_social_monster'
			+ '&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='		+ 'plaxo_the_social_monster'
				+ '&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/18347971/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-9698400">\
	 <div id="dsq-comment-header-9698400" class="dsq-comment-header">\
	 <cite id="dsq-cite-9698400" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9698400" href="http://www.briansolis.com" target="_blank" rel="nofollow">briansolis</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9698400" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9698400" class="dsq-comment-message">Robert, exactly.<br><br><a href="http://bub.blicio.us/?p=614" rel="nofollow">http://bub.blicio.us/?p=614</a></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9698433">\
	 <div id="dsq-comment-header-9698433" class="dsq-comment-header">\
	 <cite id="dsq-cite-9698433" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9698433" href="http://blendingthemix.com/" target="_blank" rel="nofollow">Paul Fabretti</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9698433" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9698433" class="dsq-comment-message">Whilst I totally accept that Facebook could/should in theory be simply another tool with which we can sync our contacts (exactly as we do already with Plaxo), I absolutely object to the way in which this was done.<br><br>There is something disturbingly underhand about approaching people to get THEM to do Plaxo\'s dirty work for them.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9698432">\
	 <div id="dsq-comment-header-9698432" class="dsq-comment-header">\
	 <cite id="dsq-cite-9698432" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9698432" href="http://twitter.com/jaseone" target="_blank" rel="nofollow">Jason Bainbridge</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9698432" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9698432" class="dsq-comment-message"><blockquote>Is Plaxo a social monster for trying to import? That’s for you to decide, but why weren’t you all up in arms when Facebook imported your data and your friends email addresses from Gmail?</blockquote><br><br>Get your head out of the sand for just one moment and think exactly what Facebook does when it "imports" those addresses, it either uses it to match users already on Facebook and allows you to ask permission to add them as a friend OR it can send them an email inviting them to join Facebook if that email address isn\'t associated with an account.<br><br>See the difference there? The fact permission is asked is a big difference!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9698431">\
	 <div id="dsq-comment-header-9698431" class="dsq-comment-header">\
	 <cite id="dsq-cite-9698431" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9698431" href="http://scobleizer.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9698431" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9698431" class="dsq-comment-message">Paul: I invited them to test out new features on an account with 5,000 friends. I did that at a Facebook developer conference where I realized that most Facebook app developers don\'t have accounts with more than 100 or so friends. They needed to test this feature to see if it would survive on large-scale accounts.<br><br>Funny enough there actually are other Facebook applications that do the same thing (the CSV app, for instance) but they don\'t work on my account because the developers didn\'t test them on a large-friend network account.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9698430">\
	 <div id="dsq-comment-header-9698430" class="dsq-comment-header">\
	 <cite id="dsq-cite-9698430" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9698430" href="http://scobleizer.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9698430" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9698430" class="dsq-comment-message">Jason: how do you know the Plaxo thing didn\'t ask permission either? In fact, the reason I want Plaxo\'s feature is EXACTLY FOR THE SAME REASONS YOU GAVE!!!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9698428">\
	 <div id="dsq-comment-header-9698428" class="dsq-comment-header">\
	 <cite id="dsq-cite-9698428" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9698428">Wills</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9698428" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9698428" class="dsq-comment-message">Why do you continue to completely miss the point?<br><br>We don\'t mind YOU having our email addresses from our Facebook profile.  So go ahead, write it down and put it into Outlook. Thats what its there for.<br><br>But when you put it into Plaxos database, it crosses the line, given their reputation.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9698429">\
	 <div id="dsq-comment-header-9698429" class="dsq-comment-header">\
	 <cite id="dsq-cite-9698429" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9698429" href="http://scobleizer.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9698429" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9698429" class="dsq-comment-message">Jason: and you\'re wrong, by the way. When I ran the Gmail import it showed me ALL of my Gmail contacts and let me import ALL of them and send them ALL email asking them to join Facebook.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9698417">\
	 <div id="dsq-comment-header-9698417" class="dsq-comment-header">\
	 <cite id="dsq-cite-9698417" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9698417" href="http://scobleizer.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9698417" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9698417" class="dsq-comment-message">Wills: &gt;But when you put it into Plaxos database, it crosses the line, given their reputation.<br><br>I\'ve been on Plaxo ever since the beginning and, while they spammed my friends three years ago, they haven\'t done that since and have changed their policies.<br><br>Anyway, the reason I was using Plaxo was to see if I could get my stuff into Outlook without having to do it manually.<br><br>Oh, and Outlook already shares its info with Plaxo. So, if I manually add your stuff into Outlook it automatically gets into Plaxo anyway, if I choose to share it there. You might do some homework on it.<br><br>Plaxo has been completely rewritten in the past year, by the way. So, if you had problems with it earlier you might look at it again.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9698419">\
	 <div id="dsq-comment-header-9698419" class="dsq-comment-header">\
	 <cite id="dsq-cite-9698419" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9698419">Wills</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9698419" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9698419" class="dsq-comment-message">I\'ve done my homework on Plaxo. I know their product inside out.<br><br>I meant getting info into Outlook as it is meant to be used. Not with their plugin.<br><br>Quite frankly I do not trust them to hold a database of information on ME, with data scraped from my Facebook profile.  Especially as they are now looking for a sale.<br><br>If they were merely a sync utility between address books, then fine. But they are a social network too, with the likes of Pulse, and hold all of that date on their servers.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9698420">\
	 <div id="dsq-comment-header-9698420" class="dsq-comment-header">\
	 <cite id="dsq-cite-9698420" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9698420">Ofri</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9698420" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9698420" class="dsq-comment-message">About your last question - I actually was all up in arms when Facebook asked for my GMail password. for 2 reasons. first, I don\'t trust them enough to give them my password. second, and more important - I don\'t think my friends\' e-mails are *mine* to give. my friends gave me their e-mail addresses for a certain reason - so i can send them e-mails (and IM and so on), but no for me to sell them to 3rd parties that would start spamming them! when i have no other choice i give my friends e-mail to 3rd parties (i have to give them to Google, to be able to send mail). If a friend of mine is already on facebook, i find them by name, and not by email.<br><br>now what am i saying by all this? that your friend\'s data in not yours. you can use it, but you shouldn\'t give it to others without your friends permissions. for example you can have Plaxo script use the emails to look for your friends who are already registered with Plaxo, as long as they don\'t use, and don\'t even save e-mails of those who are not.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9698418">\
	 <div id="dsq-comment-header-9698418" class="dsq-comment-header">\
	 <cite id="dsq-cite-9698418" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9698418" href="http://doncrowley.blogspot.com/" target="_blank" rel="nofollow">dc crowley</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9698418" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9698418" class="dsq-comment-message">Robert, your arguments are getting better. But I don\'t mind you using my email address, I am one of your facebook contacts. It is just I have a serious dislike for Plaxo. Were they not spamish a few years ago? Also I deleted my Plaxo account months ago. I cannot log in. Yet I still get mails form people asking me to add them to theeir contacts. The only difference is that now I know most of them. When I was a member of Plaxo I was getting connections with all sorts of middle management guys form companies I do not know and who were not in my \'field of interest\'. It is a real pain to be just saying \'no\' and not really bumping into anyone you know. All I can say is that even though Facebook can be a real pain in the rear, up to now I have had a far more positive experience there than at Plaxo.<br><br>I hope that if you do make Plaxo your primary social network that you keep your Facebook channels open. There are people who will not follow you over.<br><br>Seriously. Open is the way forward. If something better comes along I will sign up, but IMHO plaxo is not is. Plaxo is also for sale. That makes me question the authenticity of what teh Plaxo guys are trying to do right now. What the next owners will do is anyones guess. I posted my own <a href="http://doncrowley.blogspot.com/2008/01/scoble-has-been-taken-for-ride-by-plaxo.html" rel="nofollow">two cents</a> about all this over on my own blog. Remember most of the stuff promoting data portability is very fresh and not widely available yet. I also wonder what if anything openSocial will play in this. I think openID and openAuth and plain old RSS provide us with a multitude of possibilities (future tense).</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9698416">\
	 <div id="dsq-comment-header-9698416" class="dsq-comment-header">\
	 <cite id="dsq-cite-9698416" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9698416" href="http://slashdot.org/~Critical" target="_blank" rel="nofollow">Critical_</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9698416" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9698416" class="dsq-comment-message">Facebook is focused on a system of smaller walled off gardens within its boundaries. I have chosen to not let members of my networks browse my profile unless I am friends with them. I have a fairly strict policy of only adding people I am comfortable enough with having not only my email address but my home and mobile numbers (which are on my Facebook profile). In that way, I don\'t care if you use Plaxo or another service to synchronize my information--you\'re a friend and I trust you.<br><br>I think this is so comical. People are honestly complaining about you synchronizing their email address and other contact information after they added you as a friend. Beyond becoming just another member of the "oh my gawd look how popular I am by the number of friends on my list" crowd, what was the point of adding you?<br><br>I use Plaxo myself to sync contact information across my multiple email accounts. The company\'s case is helped by the fact that I have a few friends within the company involved in several very public alpha/beta stage projects. The day that Plaxo violates my trust is the day I pull the plug on my account. Until that day, if you add me as your friend on Facebook or give me your number then I will use it as I see fit within the boundaries of our real-life friendship.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9698412">\
	 <div id="dsq-comment-header-9698412" class="dsq-comment-header">\
	 <cite id="dsq-cite-9698412" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9698412">Michaelruby</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9698412" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9698412" class="dsq-comment-message">Robert,<br><br>I am a new-ish reader and have heard mixed things about you and your opinions in the past. I just want to say that your recent comments on the google reader debacle and this new \'scoblegate\' have given me full confidence in your ability to be rational and reasonable in the face of mass hysteria and privacy fear-mongering in the blogosphere.  You\'ve officially locked me in as a reader!  I\'m sure you\'re so excited :)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9698413">\
	 <div id="dsq-comment-header-9698413" class="dsq-comment-header">\
	 <cite id="dsq-cite-9698413" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9698413">Wills</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9698413" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9698413" class="dsq-comment-message">I also want to make the point that many people use their real email addresses in Facebook. Often to get access to employer networks. If I was signing up to Plaxo, it would almost certainly be with a "spam" address. Yet you have given Plaxo my personal and work email address. Great.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9698414">\
	 <div id="dsq-comment-header-9698414" class="dsq-comment-header">\
	 <cite id="dsq-cite-9698414" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9698414" href="http://blog.plaxo.com/" target="_blank" rel="nofollow">John McCrea</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9698414" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9698414" class="dsq-comment-message">Great post, Robert. You beat me to it.<br><br>For everyone who thinks that they should be asked for approval before their email address is uploaded to Company X or Company Y (after some thorough, individualized assessment of the trustworthiness of said company), consider this: if you know anyone who uses webmail (such as GMail, Hotmail, or Yahoo! Mail)and they send you an email, oh no! You\'re email address is now stored in that webmail provider\'s servers.<br><br>There is such an amazing double-standard "logic" floating around this discussion. I suspect a majority of the folks on the other side of this arguement have at one time or another used a webmail import feature on Facebook, LinkedIn, or some other service -- without first asking the permission of everyone in their address book.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9698415">\
	 <div id="dsq-comment-header-9698415" class="dsq-comment-header">\
	 <cite id="dsq-cite-9698415" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9698415" href="http://mdoeff.com/blog" target="_blank" rel="nofollow">Mike Doeff</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9698415" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9698415" class="dsq-comment-message">For those of you who are objecting to being added to Plaxo\'s database, you are probably already in their - not as a registered user but as one of your friend\'s / colleague\'s address book contacts.  Let me explain...<br><br>I\'m one of those people who stayed away from Plaxo several years ago because of the spam issues.  I started using it again several months ago because they rolled out a free service to allow you to synchronize multiple address books: Outlook, your Apple Address Book (which synchronizes to my iPhone), etc.  Right now, I have over 500 contacts in my Plaxo address book bit only about 5% of those contacts are actually registered with Plaxo.  The other 95% are their for my personal use - i.e. none of them were "spammed" by Plaxo asking them to join.  I have the option to invite them to join Plaxo but so far I have chosen not to do so.  Long story short, many of you who are not registered with Plaxo are already in their "database" without your knowledge.  And this has nothing to do with the Plaxo script that Robert ran.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9698404">\
	 <div id="dsq-comment-header-9698404" class="dsq-comment-header">\
	 <cite id="dsq-cite-9698404" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9698404" href="http://www.wolf-howl.com/" target="_blank" rel="nofollow">graywolf</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9698404" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9698404" class="dsq-comment-message">Hey Robert here in the grown up world of adults when we do something wrong we take responsibility. We don\'t sit around blaming other people creating diversions for our transgressions. Saying things like "oh yeah well facebook did it" doesn\'t solve the problem, it only makes you look like a whiny 5 year old spoiled brat.<br><br>now stop being an attention whore and go play nice with the other kids in the playground ... mkay</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9698405">\
	 <div id="dsq-comment-header-9698405" class="dsq-comment-header">\
	 <cite id="dsq-cite-9698405" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9698405" href="http://scobleizer.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9698405" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9698405" class="dsq-comment-message">It should be noted that John McCrea works for Plaxo. Thanks John!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9698394">\
	 <div id="dsq-comment-header-9698394" class="dsq-comment-header">\
	 <cite id="dsq-cite-9698394" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9698394" href="http://scobleizer.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9698394" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9698394" class="dsq-comment-message">Graywolf: I\'m not blaming anyone. I know what I did and take full responsibility for it.<br><br>But talking about the grown up world of adults: in the grown up world we don\'t let one person go 85 MPH on the freeway, while we try to ticket other people for going 59.<br><br>Which is exactly what you are doing here.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9698393">\
	 <div id="dsq-comment-header-9698393" class="dsq-comment-header">\
	 <cite id="dsq-cite-9698393" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9698393" href="http://tdavid.wordpress.com/" target="_blank" rel="nofollow">TDavid</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9698393" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9698393" class="dsq-comment-message">I\'m with Judi, your credibility took a hit on this one, Robert. One of these days maybe you\'ll figure that out and apologize like you\'ve done for other boneheaded moves in the past. Trust wounds heal more slowly than others though.<br><br>If you are signed up for a service that spammed anybody even *once* nevermind if it was 3 days ago or 3 years ago <b>spamming is in their DNA</b>. Trust in both you and the service goes down (the service more than you, yes, but you still take a hit for putting your contacts in a spammer\'s clutches).<br><br>You are being either extremely naive or ignorant if you can\'t connect these dots.<br><br>Fact: you didn\'t care to ask any of your \'friends\' if you could run some covert bot to extract this information and give it to some third party.<br><br>You seem to think this was cool, but if even one of your \'friends\' protests, <b>it\'s not</b>. And you seem to miss the point entirely (or don\'t respect like you don\'t respect TOS) that your \'friends\' gave Facebook permissions though the TOS, not you.<br><br>I can\'t believe you don\'t respect <i>all</i> your \'friends\' wishes a little more? Despite this stupidity, I\'m trying hard to believe you\'re a better guy than this.<br><br>I brought up this trustworthiness issue the day it hit the fan and your response was silence: <a href="http://www.makeyougohmm.com/20080103/5022/" rel="nofollow">http://www.makeyougohmm.com/20080103/5022/</a><br><br>Whatever.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9698395">\
	 <div id="dsq-comment-header-9698395" class="dsq-comment-header">\
	 <cite id="dsq-cite-9698395" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9698395" href="http://blog.plaxo.com/" target="_blank" rel="nofollow">John McCrea</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9698395" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9698395" class="dsq-comment-message">Oh, yes. Thanks, Robert. Yes, I head up marketing there. It\'s certainly been an interesting week. Everyone knew data portability, in general, and friends-list portability, in specific, were going to be key topics and trends for 2008. Looks like the market needs a bit more sorting out, so glad there is such lively debate. In the meantime, we\'ve put the Facebook Import project on hold, pending direct discussions between Facebook and Plaxo product teams.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9698396">\
	 <div id="dsq-comment-header-9698396" class="dsq-comment-header">\
	 <cite id="dsq-cite-9698396" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9698396" href="http://www.slobokan.com/" target="_blank" rel="nofollow">Slobokan</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9698396" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9698396" class="dsq-comment-message">I wasn\'t upset when Facebook wanted to import my Gmail address book, because Gmail allows such a thing to be done, and Facebook gave me the option of not doing it in the first place.<br><br>Huge difference.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9698407">\
	 <div id="dsq-comment-header-9698407" class="dsq-comment-header">\
	 <cite id="dsq-cite-9698407" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9698407" href="http://thekillerattitude.com/" target="_blank" rel="nofollow">Johan Myrberger</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9698407" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9698407" class="dsq-comment-message">Robert,<br><br>hm - I like the Plaxo services very much, and I read your blog regulary. However this time I believe both you and Plaxo are wrong. Sorry.<br><br>Why?<br><br>Well, #1: You say<br>"What if I wrote down Judi’s email and then manually put it into my Outlook’s contact database. Wouldn’t that have been exactly the same thing that I tried to do with Plaxo’s script?"<br><br>No. Facebook\'s ToS specifically states that automatic scripts are not allowed. You might not like this (and neither do I). But if you use a service it is expected that you follow the "code of conduct" for the service. Or?<br><br>#2: You say:<br>" why is it OK for Facebook to import all my Gmail email addresses? Why aren’t you screaming bloody murder about THAT? After all, did anyone on Gmail approve me to import their email addresses to Facebook?"<br><br>I have not looked detailed at the Gmail ToS, but as Gmail seems to pubslish an API to export or retreieve the contacts it is OK with them (or?). So Gmail allows you (not Facebook) to actively retreive your contacts. And the fact that *you* decide to do this with Facebook and their ToS is actually your choice. Or?<br><br>#3 finally. You say:<br>"I have NOT used any of the data I collected using Plaxo’s service. That all went into a separate test account and I’m not using that data and neither is Plaxo"<br><br>OK - great. That means that if I broke soem kind of ToS (like the law?) and stole your money *but* put he money in a special bank account and didn\'t use it it\'s OK. Is that what you\'re saying?<br><br>All in all. I still like you and Plaxo. But I don\'t agre to the arguments in this blog post. Having said that - a little "Killer Attitude" is always good... ;-)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9698408">\
	 <div id="dsq-comment-header-9698408" class="dsq-comment-header">\
	 <cite id="dsq-cite-9698408" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9698408">Wills</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9698408" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9698408" class="dsq-comment-message">@ John<br><br>Pretty much every web importer I have seen so far says that they do not store the information after use. It is there for two reasons. 1) to see if you have any contacts already using the service.  2) send those who arent an invite (opt in)<br><br>Can you confirm that Plaxo does NOT retain ANY profile data from Facebook scraping?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9698409">\
	 <div id="dsq-comment-header-9698409" class="dsq-comment-header">\
	 <cite id="dsq-cite-9698409" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9698409" href="http://scobleizer.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9698409" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9698409" class="dsq-comment-message">TDavid: I think you totally haven\'t done your homework here. I haven\'t been silent at all about the trust issue. Heck, this whole thing is, what, 48 hours old? Give a dude a chance to take on the issue. Do you have any clue how many pieces of feedback came my way over the past two days? I still haven\'t read it all.<br><br>And, I made it clear in this post that I didn\'t use your information and neither did Plaxo. We wanted to make a point. And we did.<br><br>By the way, you gave me access to your email when you friended me. Did you NOT want me to use that for my own purposes? What rules do you put on our friendship?<br><br>I guess now I know what they mean when they say that 5,000 people can\'t possibly be "real" friends. Real friends don\'t mind when I try to put their email address into Outlook or Gmail.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9698411">\
	 <div id="dsq-comment-header-9698411" class="dsq-comment-header">\
	 <cite id="dsq-cite-9698411" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9698411" href="http://blog.plaxo.com/" target="_blank" rel="nofollow">John McCrea</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9698411" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9698411" class="dsq-comment-message">Slobokan, not quite right:<br><br><a href="http://paulbuchheit.blogspot.com/2008/01/should-gmail-yahoo-and-hotmail-block.html" rel="nofollow">http://paulbuchheit.blogspot.com/2008/01/should...</a><br><br>It is a violation of GMail terms of service to do an import to another service.<br><br>Also, the analogy is flawed. It is not a question of whether Facebook gave you an option not to do it. The analogous question is whether you had to seek permission from Google and from the people in your address book.<br><br>You violated GMail\'s terms of service (just as everybody else does.) Google doesn\'t enforce them, because Google knows that the data really belongs to the user, and they would look like the bad guy if they didn\'t let you take your address book with you.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9698406">\
	 <div id="dsq-comment-header-9698406" class="dsq-comment-header">\
	 <cite id="dsq-cite-9698406" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9698406" href="http://www.wolf-howl.com/" target="_blank" rel="nofollow">graywolf</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9698406" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9698406" class="dsq-comment-message">robert you really are delusional enough to believe we live in an egalitarian world where everyone is equal? Seriously?<br><br>I know they told you everyone was beautiful on the inside back in kindergarden, but really that\'s just a lie that tell fat, ugly, or stupid kids so they don\'t feel bad.<br><br>And if you did take responsibility and weren\'t being a whiner you would have resolved the entire issue with facebook privately first, instead of vomiting the mess you created all over the internet first. Of course that would have gotten you much less attention, traffic and links, which is what I think was part of your plan all along.<br><br>If you are going to be an attention whore fine admit it up front don\'t hide behind the guise of championing for the freedom of my data, when what you really are working for is feeding your ego and increasing your exposure above all else.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9698403">\
	 <div id="dsq-comment-header-9698403" class="dsq-comment-header">\
	 <cite id="dsq-cite-9698403" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9698403" href="http://scobleizer.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9698403" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9698403" class="dsq-comment-message">Johan: OK, so you\'re OK if I manually put your email into my Outlook or Gmail account from Facebook, right? Just because that didn\'t technically break Facebook\'s terms of service, is there really any difference there?<br><br>Interesting how many of you are supporting bad TOS\'s and ones that live by different rules than most of its competitors. Right, you LIKE IT that Facebook is a data roach motel. I don\'t.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9698401">\
	 <div id="dsq-comment-header-9698401" class="dsq-comment-header">\
	 <cite id="dsq-cite-9698401" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9698401" href="http://blog.plaxo.com/" target="_blank" rel="nofollow">John McCrea</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9698401" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9698401" class="dsq-comment-message">Wills, those importers state that they are not storing your username and password. Of course, the whole point of them is to get your address book in so you can find your friends there and invite others in.<br><br>Plaxo is a bit different, in that we have always been a networked address book service. So our users are using import or sync to build up a unified address book. Whatever data is retained is what the user decides to retain.<br><br>So, if Robert deleted those folks from his account, that data is erased. It\'s Robert\'s address book, and we host it and sync it with whatever tools and services he wants us to, such as Outlook or the Mac address book.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9698398">\
	 <div id="dsq-comment-header-9698398" class="dsq-comment-header">\
	 <cite id="dsq-cite-9698398" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9698398">Wills</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9698398" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9698398" class="dsq-comment-message">I don\'t think anybody has a problem with their email address being in your Outlook or Gmail account Robert. But most have a problem with it being in Plaxo\'s database.<br><br>It isn\'t just about email addresses either.  We put up information in Facebook for the benefit of our friends, not for 3rd parties.  One can presume that using this tool, Plaxo (who are looking for a sale), can easily get my work information, interests, mobile number, date of birth, IM data, address and so on.<br><br>How can you not realise how much of a security issue that is?<br><br>When using the Gmail importer in FB, it is name and email address only.   Huge huge difference.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9698391">\
	 <div id="dsq-comment-header-9698391" class="dsq-comment-header">\
	 <cite id="dsq-cite-9698391" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9698391" href="http://blog.plaxo.com/" target="_blank" rel="nofollow">John McCrea</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9698391" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9698391" class="dsq-comment-message">Wills. The Facebook importer was only bringing it name, email address, and birthday. Much like GMail importer.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9698392">\
	 <div id="dsq-comment-header-9698392" class="dsq-comment-header">\
	 <cite id="dsq-cite-9698392" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9698392" href="http://stuart.amanzi.co.nz/" target="_blank" rel="nofollow">stuart</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9698392" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9698392" class="dsq-comment-message">On the topic of Gmail imports into Facebook - I think this is the real cause of concern... Don\'t forget that when you hand over your username and password that you\'re not just giving Facebook (or any other similar service) access to your contacts list - you\'re giving them access to your entire inbox, calendar, blog posts (if you use Blogger), your photos (if you use Picasa), your search history, documents, spreadsheets, etc, etc, - basically any Google service that you have associated with your Google Account.<br><br>Why aren\'t more people up in arms about that?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9698390">\
	 <div id="dsq-comment-header-9698390" class="dsq-comment-header">\
	 <cite id="dsq-cite-9698390" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9698390">Ben</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9698390" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9698390" class="dsq-comment-message">Robert,<br><br>I have no idea what Plaxo is. But I think that facebook already lets you configure what your friends can see from their profile.<br><br>If you add somebody as a friend, you are giving them the information in your profile. That is what facebook is for!<br><br>I think that some of the people on your friend list wanted to have somebody famous there, and now complain that this famous person has their details in his hands ready to try and import elsewhere. I hope that they learn something from the experience.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9698387">\
	 <div id="dsq-comment-header-9698387" class="dsq-comment-header">\
	 <cite id="dsq-cite-9698387" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9698387">Zian</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9698387" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9698387" class="dsq-comment-message">"When using the Gmail importer in FB, it is name and email address only."<br><br>And how do you know that Facebook doesn\'t actually harvest everything else?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9698388">\
	 <div id="dsq-comment-header-9698388" class="dsq-comment-header">\
	 <cite id="dsq-cite-9698388" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9698388" href="http://tdavid.wordpress.com/" target="_blank" rel="nofollow">TDavid</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9698388" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9698388" class="dsq-comment-message">Robert - man you\'re one stubborn guy. Haven\'t done my homework? Let\'s see, it\'s not too difficult to see you hadn\'t responded to a blog post (fact). I showed up at your live mogulus show and asked you specific questions (you answered one of them in a strange way)<br><br>RE: "Did you NOT want me to use that for my own purposes? What rules do you put on our friendship?"<br><br>This depends on what you mean by "my own purposes" -- I expect as a <b>matter of professional courtesy</b> that my contact information isn\'t put in a service that has any history of spamming <b>period</b> by other contacts.  That goes for every professional and personal contact, regardless of how good a friend they are or not.<br><br>Robert, really, is this that difficult a request? It\'s professional courtesy!<br><br>I\'m not totally surprised by this. When we met up at  Northern Voice we were sitting there in a group talking and your wife walked up to us and you didn\'t bother to introduce her to any of us there.  That included Marcus from Plentyoffish.<br><br>Remember that day and awkward moment? I sure do. Manners and professional courtesy are something you apparently have to work a little harder at, Robert.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9698399">\
	 <div id="dsq-comment-header-9698399" class="dsq-comment-header">\
	 <cite id="dsq-cite-9698399" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9698399" href="http://blog.infurious.com/" target="_blank" rel="nofollow">mj</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9698399" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9698399" class="dsq-comment-message">"It is a violation of GMail terms of service to do an import to another service."<br><br>So it\'s against FaceBook, against GMAIL but apparently fine with Scoble.<br><br>This is why we need ONE CENTRAL IDENTITY</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9698397">\
	 <div id="dsq-comment-header-9698397" class="dsq-comment-header">\
	 <cite id="dsq-cite-9698397" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9698397" href="http://www.momathome.com/" target="_blank" rel="nofollow">Judi Sohn</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9698397" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9698397" class="dsq-comment-message">Robert, the reason why I don\'t trust you has nothing to do with you, personally. I don\'t know you beyond your blog and you don\'t know me beyond mine. We haven\'t earned each other\'s trust yet through any kind of meaningful communication. Until I blogged about you, I was just one of the masses. ;-)<br><br>I never put a halo on Facebook, but that wasn\'t the point of my post. No one at Facebook is going to find you on Facebook unless you have an account there, at best they have an email address as someone tried to add you as a friend. As you learned, you can disappear quite easily. No one at Google is going to find you on Gmail (beyond how you may appear in a To: field) unless you have a Gmail address. Plaxo knows my name, address, phone number, email address, and other information about me including who my friends are, and I have no control over that.<br><br>Why? In part because Plaxo built their business marketing themselves as a utility for data management. That\'s why you wanted to use it, and that\'s great...for you. But *think* about what you\'re feeding them and what that information in the wrong hands could mean. If Facebook turns ugly, everything  that I brought to the table is in a small, walled garden. I hit the delete button and it\'s gone. That\'s my safety net.<br><br>I had absolutely no problem with Plaxo and was a Premium paid member until they introduced Pulse and their tone/direction changed. Spam should be the least of our worries.<br><br>I won\'t be comfortable with Plaxo until I have the option of completely removing all traces of my information from their servers, if I so choose. Facebook hits Gmail long enough to ask "are you a member?" and then gives you the *option* of asking your contacts "do you want to be a member?" Plaxo *retains* what they get about ME from their interactions with YOU, and that\'s what I don\'t like one bit.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9698439">\
	 <div id="dsq-comment-header-9698439" class="dsq-comment-header">\
	 <cite id="dsq-cite-9698439" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9698439" href="http://www.slobokan.com/" target="_blank" rel="nofollow">Slobokan</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9698439" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9698439" class="dsq-comment-message">John McCrea,<br><br>No, I personally did not violate their terms of service, because I did not allow Facebook to import my Gmail contacts.<br><br>But, since it is a violation of Gmail\'s TOS, then it\'s up to them to enforce them.<br><br>Just because someone else does it, doesn\'t make it right when you do it.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9698440">\
	 <div id="dsq-comment-header-9698440" class="dsq-comment-header">\
	 <cite id="dsq-cite-9698440" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9698440" href="http://blog.plaxo.com/" target="_blank" rel="nofollow">John McCrea</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9698440" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9698440" class="dsq-comment-message">Sorry, Slobokan. My error. Too fast typing.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9698386">\
	 <div id="dsq-comment-header-9698386" class="dsq-comment-header">\
	 <cite id="dsq-cite-9698386" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9698386" href="http://www.krishworld.com/blog/" target="_blank" rel="nofollow">Krish</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9698386" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9698386" class="dsq-comment-message">Well said Robert. I told the same thing when I responded to Jermiah and others in his post.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9698438">\
	 <div id="dsq-comment-header-9698438" class="dsq-comment-header">\
	 <cite id="dsq-cite-9698438" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9698438" href="http://slavior.wordpress.com/" target="_blank" rel="nofollow">slavior</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9698438" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9698438" class="dsq-comment-message">Robert, you don\'t seem to understand: Plaxo is bad, they spammed in the past so we can\'t trust them; Facebook would never do evil things like that - apart from breaking Gmail\'s TOS, implementing Beacon, etc.<br><br>Plaxo may also be sold in the future, and who knows what the future owners will do with all that data. Facebook on the other hand will never change corporate direction or ownership. I guess you\'ll just have to trust me on that one.<br><br>I so love me a good double standard...</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9698437">\
	 <div id="dsq-comment-header-9698437" class="dsq-comment-header">\
	 <cite id="dsq-cite-9698437" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9698437">Donald</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9698437" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9698437" class="dsq-comment-message">"So, to Judi, why is it OK for Facebook to import all my Gmail email addresses? Why aren’t you screaming bloody murder about THAT? After all, did anyone on Gmail approve me to import their email addresses to Facebook?"<br><br>Well, because when you created a FB account, you agreed to allow them to do that.  Last I checked, I have the option of NOT doing that if I so choose.  Clearly you failed to either read or comprehend the TOS in FB until you got your hand slapped.  Now you are trying to justify your ignorance by making illogical arguments (most specifically the relativist fallacy). The issue is not about what GMail does or doesn\'t allow, nor is it about what you may choose to store in Outlook and how you choose to do that. The issue is you blatantly violating FB\'s TOS AND allow that data to be accessed by a third party company that your friends likely did not give you permission to do.<br><br>That fact that you SAY you didn\'t do anything with the information once you got it is also irrelevant, and really not the point. If I steal something then decide not to use it, that doesn\'t make the crime less punishable.<br><br><br>My data on Facebook is what I choose to share with my friends. I am the one that chooses who to add to my friends lists and WHAT data I share with them.  Then I trust the FB will enforce their TOS when these friends violate it. FB\'s TOS make it clear they won\'t allow data scraping. By signing up I trust that they will enforce that term.  Frankly I believe they violated their own TOS\'s when they allowed you back in when you clearly and willfully violated the agreement you made with them.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9698434">\
	 <div id="dsq-comment-header-9698434" class="dsq-comment-header">\
	 <cite id="dsq-cite-9698434" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9698434" href="http://thekillerattitude.com/" target="_blank" rel="nofollow">Johan Myrberger</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9698434" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9698434" class="dsq-comment-message">Robert, to comment back on your comment #28 on my #23:<br><br>In #28 you say:<br>"Johan: OK, so you’re OK if I manually put your email into my Outlook or Gmail account from Facebook, right? Just because that didn’t technically break Facebook’s terms of service, is there really any difference there?"<br><br>You\'re mixing things here!<br>Now, we\'re not yet connected on FB (I\'ll send an invite right after this..). When we are connected I can choose what to share with you on FB. And I will select to share my email addresses with you. And you are free to put them in your address book (and if you put them in Plaxo you\'ll always have my latest updates - that\'s one thing I  like with Plaxo!)<br><br>Personally I do not care how you get the email out of FB. But as I said in comment #23 - screen scraping is not allowed by FB (it has nothing to do with *me*) I am not that happy with the FB ToS either, but I use FB anyway...<br><br>And also, seems like John in comment #26 took way my second argument in comment #23. I will read up on the facts, but am willing to fold on th second argument. the 1st and 3rd still holds though...</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9698389">\
	 <div id="dsq-comment-header-9698389" class="dsq-comment-header">\
	 <cite id="dsq-cite-9698389" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9698389" href="http://www.turning25.com/" target="_blank" rel="nofollow">Chris</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9698389" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9698389" class="dsq-comment-message"><blockquote>And, I made it clear in this post that I didn’t use your information and neither did Plaxo. We wanted to make a point. And we did.</blockquote><br><br>So let\'s say I DDOS your site.<br><br>But I only did it to make a statement.<br><br>We\'re still cool, then, right?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9698436">\
	 <div id="dsq-comment-header-9698436" class="dsq-comment-header">\
	 <cite id="dsq-cite-9698436" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9698436">Tom</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9698436" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9698436" class="dsq-comment-message">Donald, you\'re an idiot. I hate to turn it into this but you are. If you add someone on facebook then you gave them permission to see your profile. It doesn\'t matter if a computer program copies down your info or if I do... scraping is scraping. What happens to your data is then up to the host company (i.e. Facebook) and the people you choose to friend. If you don\'t like your data ending up in Plaxo or Gmail or Yahoo or Skype or anywhere else then you have the option to hide it on Facebook. Maybe you should have thought twice before adding Robert who you clearly didn\'t know in person instead of bitching about it on his blog. Now that\'s a thought!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9698435">\
	 <div id="dsq-comment-header-9698435" class="dsq-comment-header">\
	 <cite id="dsq-cite-9698435" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9698435" href="http://www.yardley.ca/dash/2008/01/04/on-implicit-social-contracts/" target="_blank" rel="nofollow">Greg</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9698435" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9698435" class="dsq-comment-message">You\'re being deliberately obtuse here, Robert.  Facebook renders e-mails as an image.  There\'s only one reason to do that, and that\'s so they won\'t be scraped.  And that\'s why I post my e-mail publicly on Facebook - so if you want to use them, you do in fact have to use the \'napkin method\', and you aren\'t some anonymous (often malicious) \'bot.  Email-as-image is a long-standing social convention, used on many many blogs, that says \'hey, humans can use this but I really don\'t want to make it available to spammers or other address-scraping bots.\'  It\'s no different from restrictions in robots.txt or a CAPTCHA on a web form - humans only.<br><br>As soon as you heard Plaxo was developing character recognition software to go against some very clear user preferences - since there\'s only one reason to display an e-mail as an image - you should\'ve ran the other way.  Flagrant disregard for implicit but obvious user wishes is a dick move.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9698364">\
	 <div id="dsq-comment-header-9698364" class="dsq-comment-header">\
	 <cite id="dsq-cite-9698364" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9698364">Karim</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9698364" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9698364" class="dsq-comment-message"><i>robert you really are delusional enough to believe we live in an egalitarian world where everyone is equal? </i><br><br>Right, so, because inequality exists and we\'ll never be able to completely eradicate it, we should just give up on reducing it at all?<br><br>It\'s not even a <i>slight</i> inequality we\'re talking about.  We\'re talking about Facebook screen-scraping millions of addresses out of Hotmail, Yahoo! Mail, and Gmail (in flagrant violation of each one\'s ToS), but Facebook yanking Scoble\'s account just for mere <i>appearance</i> of doing the same damn thing?<br><br>Facebook is brazenly HIJACKING 18-wheelers from Nabisco and Pepperidge Farm full of cookies, but throwing Scoble in detention because it sort of looked like he <i>might</i> have had his hand in the cookie jar?<br><br>And the appropriate response to this level of hypocrisy is, "Well, life\'s unfair, deal with it?"<br><br><i>Of course that would have gotten you much less attention, traffic and links, which is what I think was part of your plan all along.</i><br><br>How is that mind-reading thing working out for you?<br><br><i>If you are going to be an attention whore fine admit it up front don’t hide behind the guise of championing for the freedom of my data, when what you really are working for is feeding your ego and increasing your exposure above all else.</i><br><br>Wow, so Scoble\'s <i>stated</i> motivation was to get the contact data for his "friends" out of Facebook, but you, Professor Xavier, with your Magical Mind-Reading Powers, have informed us all that that was a complete lie and that he just wanted to "feed his ego" and "increase his exposure."<br><br>Jealous much?<br><br>As for attention whorishness, um, are you new here?  Did you not notice this guy Scoble tends to live his life online?<br><br>Besides, if Scoble\'s an Attention Whore, what does that make you for <i>paying</i> attention and commenting several times?  An Attention John?  :-)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9698365">\
	 <div id="dsq-comment-header-9698365" class="dsq-comment-header">\
	 <cite id="dsq-cite-9698365" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9698365" href="http://sam-i-am.travellerspoint.com/" target="_blank" rel="nofollow">Sam I Am</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9698365" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9698365" class="dsq-comment-message">Robert, how many email addresses did you have in Gmail when you signed up with FB? Those are email addresses you\'ve had with you for a while if you\'re anything like me. People you really know, have met or done business with etc.<br><br>On Facebook, 90% of your friends are probably not really friends or people you know, right or wrong?<br><br>I\'m sure the 10% don\'t mind their data they gave you heading off to another database like plaxo, since you could have done that directly. It\'s the other 90% that are your \'friends\' that is the HUGE difference between what FB is doing and what you did with Plaxo.<br><br>On the other hand, it\'s also the fault of anyone friending people they don\'t know, which is not just you but also that 90%.<br><br>I don\'t blame you any more than the 4500 or so folks that aren\'t really your friends but still friended you. A smart man like you SHOULD however realize the difference between the two systems.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9698421">\
	 <div id="dsq-comment-header-9698421" class="dsq-comment-header">\
	 <cite id="dsq-cite-9698421" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9698421" href="http://giginger.wordpress.com/" target="_blank" rel="nofollow">giginger</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9698421" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9698421" class="dsq-comment-message">Try and look at it this way.<br><br>Imagine you and I went to school with Plaxo. You got on well with Plaxo but I thought they were a dick.<br><br>Facebook comes along and Plaxo adds people they know the names of. I get the request but ignore it because I thought they were a dick. You however add them because you got on well.<br><br>Plaxo is round yours one night and asks to use your facebook profile to check out my profile seeing as they can\'t see it. You say that\'s cool.<br><br>I wouldn\'t be happy about that because I refused that person friend request for a reason.<br><br>What you\'ve done with their script is exactly the same. They\'ve essentially logged in as you and checked out everyone\'s profile because they couldn\'t see it any other way. You could argue that it\'s fraud to a certain extent.<br><br>I\'m all for open data but this is just a backward way of going about it. I\'m glad I removed you from my friends list ages ago because there\'s no way I\'d want my data anywhere near Plaxo. I\'d much rather there was a way that Plaxo could send a request to retrieve my data on your behalf. That way I can click ignore. That would be the correct way of doing things. You\'ve just assumed that if someone is your friend on Facebook then they\'ll happily be your friend on Plaxo. That\'s just shortsighted.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9698361">\
	 <div id="dsq-comment-header-9698361" class="dsq-comment-header">\
	 <cite id="dsq-cite-9698361" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9698361" href="http://www.blog.stealthmode.com/" target="_blank" rel="nofollow">francine hardaway</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9698361" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9698361" class="dsq-comment-message">Facebook isn\'t a monster, nor is Plaxo. But some of their users are. I resent it when a total stranger asks to connect with me on Plaxo because hs is building his network in the hopes that he will build his business.  That, to me, isn\'t a social network. I love to meet people on social networks, because I like to meet new people, but I don\'t want to be used by absolute strangers who are trying to sell me real estate in Costa Rica or take my time ignoring them one-by-time-consuming one.<br><br>I am hoping that if I say this enough about Plaxo, Smarr will read it and come up with a better system.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9698423">\
	 <div id="dsq-comment-header-9698423" class="dsq-comment-header">\
	 <cite id="dsq-cite-9698423" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9698423">Pat Kershaw</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9698423" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9698423" class="dsq-comment-message">Dead on<br>People need to take a bit more personal responsibility. If you give any details to any-one, anytime, through any means, NOT just with the internet, or facebook, you have given your trust to that person to use that information responsibly.<br>If they don\'t, woops. But really, if it is a friend, moving it, whats the deal. When they move it, do the stop being a friend? Do they automajically change? So Robert decides to use Plaxo to store MORE than 5000 email contacts? that just proves 2 things<br>1. Facebooks limit is restrictive to (some) members<br>2. To stop scripts, and "Napkin" transfers, they need to make it EASY and controlled! (Ie. tell those involved if you like... "Robert Scoble has Hijacked your name and taken it to another, competing, profit-driven service..."... sorry)<br>To summarise, if you give you details to the phone company, the bank, the nieghbor... they will all pass on some details sometimes.<br>The question is why.<br>Is it to profit?<br>Is it to smam...<br>The issue is not portability, but control, and visibitily.<br>Make it easy, make it obvious, and inform those affected, (and in future inform up front of possibilities).</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9698425">\
	 <div id="dsq-comment-header-9698425" class="dsq-comment-header">\
	 <cite id="dsq-cite-9698425" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9698425">MUC</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9698425" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9698425" class="dsq-comment-message">Robert, as a Plaxo shareholder, I applaud every one of your Plaxo posts. This is saving Plaxo buukuu moola in PR expenses. No, wait, they couldn\'t afford this much publicity. I think a Plaxo post every other day should get us a pretty nice asking price in the February timeframe (Porsche HERE I COME!!!) Keep up the GREAT work!!! YOU ROCK!!! Oh yeah, and thanks to the entire internet for providing all your contact info to Plaxo\'s databases!! (SPAM=CASH MONEY!!!)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9698422">\
	 <div id="dsq-comment-header-9698422" class="dsq-comment-header">\
	 <cite id="dsq-cite-9698422" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9698422" href="http://ladow.net/" target="_blank" rel="nofollow">Bob</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9698422" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9698422" class="dsq-comment-message"><blockquote>why weren’t you all up in arms when Facebook imported your data and your friends email addresses from Gmail?</blockquote>I wasn\'t upset, because it didn\'t happen.  I do not provide that kind of data.<br><br>Robert, are we to assume that the e-mail address we provide you here at <a href="http://Scobleizer.com" rel="nofollow">Scobleizer.com</a> to post a comment is shared with other social networks?<br><br>What line do you draw with using someone else\'s personal information?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9698385">\
	 <div id="dsq-comment-header-9698385" class="dsq-comment-header">\
	 <cite id="dsq-cite-9698385" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9698385" href="http://www.communityguy.com/" target="_blank" rel="nofollow">Jake McKee</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9698385" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9698385" class="dsq-comment-message">OK, I\'ll ask the obvious question.... which is it, Robert? Were you pushing FB buttons fully knowing the likely outcome (like you talk about today) or were you shocked and surprised at what happened (as you implied yesterday)? I\'m having a hard time following your position here...<br><br>Further, I find it a ridiculous argument to say that you just used this data in a test account. Where does that account live? The data is stored somewhere, right? Are you involved in a formal relationship with Plaxo enough to ensure that this "test" account isn\'t going to roll your 5,000 bits of new data into the larger master database? Either man up and admit you have a formal relationship with Plaxo or agree that there are enough unknowns here that you\'ve made a mistake in trusting them so implicitly.<br><br>The real issue in this discussion is one of context. The context of when and how I\'m asking for my Gmail info (a practice I neither support or agree with, FYI),  is one of limited use and specific purpose. The context of what this Plaxo script is doing is far more broad reaching. And given Plaxo\'s previous reputation (which adds to the context), who\'s to say that once they get out of beta they wouldn\'t extend the collection of data past name, email, birthday alone?<br><br>Context matters.<br><br>Adding to your personal address book is a different context than adding to the corporate database of a  business known for spamming.<br><br>I\'m not saying you should, necessarily, have gotten permission to do this, but I\'m saying we all should start applying more common sense to the way we handle this implied trust inherent in the friending process.<br><br>Since you\'ve given contradictory positions about what this whole debacle was based on (beta test and/or poke at FB), it\'s hard to know what your real motivations are here. But whether this was a beta test or some sort of civil disobedience, the fact remains, you made your 5,000+ FB contacts unwitting accomplices in that process.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9698384">\
	 <div id="dsq-comment-header-9698384" class="dsq-comment-header">\
	 <cite id="dsq-cite-9698384" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9698384">weaverluke</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9698384" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9698384" class="dsq-comment-message">Robert,<br><br>Your arguments are wholly logical. Unfortunately, "privacy" is an emotive issue that makes people fearful and illogical. That said, looking at the rapid evolution of technology and society, there\'s only one way all this stuff is going to go—and that\'s the way you\'re going. So thanks for blazing the trail. : )</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9698383">\
	 <div id="dsq-comment-header-9698383" class="dsq-comment-header">\
	 <cite id="dsq-cite-9698383" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9698383" href="http://bjimba.blogspot.com/" target="_blank" rel="nofollow">Jim Russell</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9698383" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9698383" class="dsq-comment-message">Robert, you\'re right on the money about there being little difference between running the script and manually gathering your friends\' email addresses.  The Facebook "solution" of making the email addresses into image files is just another DRM-like pretense.  I covered this in more detail <a href="http://bjimba.blogspot.com/2008/01/facebook-scoble-and-russells-law.html" rel="nofollow">in this blog post</a>, and Kevin Gamble also addressed the issue <a href="http://blog.k1v1n.com/2008/01/trying-to-stop-bots-is-stupid.html" rel="nofollow">here</a>.<br><br>I think your alpha test should be compared to DVD-Jon\'s CSS code -- a concrete demonstration of the futility of trying to "encrypt past the intended recipient".</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9698382">\
	 <div id="dsq-comment-header-9698382" class="dsq-comment-header">\
	 <cite id="dsq-cite-9698382" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9698382" href="http://liviacolare.com/" target="_blank" rel="nofollow">Livia Iacolare</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9698382" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9698382" class="dsq-comment-message">This is ridiculous.<br><br>Fortunately I did not befriend you on Facebook, so I am not giving my data to Plaxo.<br><br>Oh s**t, I forgot I have an account on Plaxo... Let me go remove it right now.<br><br>Open you eyes, people!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9698381">\
	 <div id="dsq-comment-header-9698381" class="dsq-comment-header">\
	 <cite id="dsq-cite-9698381" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9698381">Donald</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9698381" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9698381" class="dsq-comment-message">@44 "Right, so, because inequality exists and we’ll never be able to completely eradicate it, we should just give up on reducing it at all?<br><br>It’s not even a slight inequality we’re talking about. We’re talking about Facebook screen-scraping millions of addresses out of Hotmail, Yahoo! Mail, and Gmail (in flagrant violation of each one’s ToS), but Facebook yanking Scoble’s account just for mere appearance of doing the same damn thing?"<br><br>Whether Scoble read them or not, or even understood them, he agreed to FB\'s TOX by creating an account. So, what FB does or doesn\'t do wrt to other systems is irrelevant to this issue. Scoble violated terms he agreed to.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9698380">\
	 <div id="dsq-comment-header-9698380" class="dsq-comment-header">\
	 <cite id="dsq-cite-9698380" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9698380">Donald</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9698380" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9698380" class="dsq-comment-message">"TOS"</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9698402">\
	 <div id="dsq-comment-header-9698402" class="dsq-comment-header">\
	 <cite id="dsq-cite-9698402" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9698402" href="http://lisaamorao.wordpress.com/" target="_blank" rel="nofollow">Lisa Amorao</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9698402" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9698402" class="dsq-comment-message">When I heard about the incident I immediately recalled how you responded when blogger Harry Joiner\'s account was shut down by Facebook for importing his entire email address book:<br><br>On comments:<br><a href="http://www.facebookobserver.com/facebook-news/banned-on-facebook" rel="nofollow">http://www.facebookobserver.com/facebook-news/b...</a><br><br>What makes the Plaxo script different?<br><br>With regards to data portability, you claim to have added 4200 (you have more now) one at a time and from the comment it seems this is the way to connect to others in social networks. Do you feel differently now?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9698363">\
	 <div id="dsq-comment-header-9698363" class="dsq-comment-header">\
	 <cite id="dsq-cite-9698363" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9698363" href="http://tim.rocketry.org/" target="_blank" rel="nofollow">Tim</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9698363" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9698363" class="dsq-comment-message">You make some good points there. I do wonder why people are selectively screaming about your recent fiasco, but don\'t mind that FaceBook imports all of your GMail contacts. It\'s the same damn thing, sounds like it anyway.<br><br>I think a more fine grained permission/preferences thing would be an answer. There are standards for email (POP/IMAP), web (HTTP/HTTPS) and other things (FTP, TCP/IP, etc..), so maybe we need to come up with something for information sharing preferences or something? Someone write up and submit a new RFC on personal data sharing? I\'m probably crazy though, nobody\'s gonna do that. :)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9698359">\
	 <div id="dsq-comment-header-9698359" class="dsq-comment-header">\
	 <cite id="dsq-cite-9698359" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9698359" href="http://www.wilhelmus.ca" target="_blank" rel="nofollow">wilhelmus</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9698359" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9698359" class="dsq-comment-message">Thanks for fueling this debate Robert.<br><br>The point is not that Facebook\'s TOS was broken, nor if Plaxo is evil. The point is data portability, and breaking through walled gardens. Facebook and Plaxo just happened to be vehicles to drive the point home. Sometimes civil disobedience is a necesity for change.<br><br>The reality is that as soon as you hand somebody a business card or send somebody and email, your data is out there. Are you going to ask somebody if they use Plaxo or some other service when you hand them a business card?<br><br>My social graph should be portable between networks.<br>Why do I have to befriend everybody multiple times? Next, I should be able to add restictions on a user/friend level (call it DRM for friends if you like).<br><br>But first we need to break down these walled gardens, put up there for no other reason than power and control.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9698441">\
	 <div id="dsq-comment-header-9698441" class="dsq-comment-header">\
	 <cite id="dsq-cite-9698441" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9698441">Sam Spade</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9698441" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9698441" class="dsq-comment-message">Re "why weren’t you all up in arms when Facebook imported your data and your friends email addresses from Gmail"<br><br>That would be because Facebook can\'t do that unless we give them our gmail details. By giving them our gmail details we are giving Facebook permission to import that data.<br><br>Facebook, on the other hand, have specifically *withheld* permission for you to pull data from Facebook in the way that you did.<br><br>What it all boils down to is you agreed to specific terms and conditions when joining Facebook.  You did not abide by those terms and conditions.  Everything else is red herrings.<br><br>Oh, and just because you can find a way around the terms and conditions ("write it manually, don\'t use a script, they\'ll never know") is beside the point, and reveals a lack of worrying lack of ethics.<br><br>Perhaps a little less trying-to-beat-the-system and a little more playing by the rules is in order.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9698379">\
	 <div id="dsq-comment-header-9698379" class="dsq-comment-header">\
	 <cite id="dsq-cite-9698379" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9698379">ZebZiggle</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9698379" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9698379" class="dsq-comment-message">I agree with Judi. You broke the trust relationship with your friends by exporting *their* personal information to Plaxo ... whom we do not trust.<br><br>But your explicit action is really no different than anyone that adds any third party application to FB. That application can access your entire friends list even if those people did not add that application.<br><br>This is an interesting dilemma since now I not only have to trust FB, but I have to trust all my friends with my profile data.<br><br>PS&gt; Plaxo cannot access the email information from FB (look at the API), but they can get enough data to make the matching to existing contacts pretty easy.<br><br><a href="http://developers.facebook.com/documentation.php?v=1.0&amp;method=users.getInfo" rel="nofollow">http://developers.facebook.com/documentation.ph...</a></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9698378">\
	 <div id="dsq-comment-header-9698378" class="dsq-comment-header">\
	 <cite id="dsq-cite-9698378" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9698378">ZebZiggle</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9698378" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9698378" class="dsq-comment-message">Hmm, actually it gets more interesting ...<br><br>Is it then my moral responsibility to turn off "See My Friends" to *all* users on FB? Currently I have it as "Anyone can see my friends".<br><br>You and I can be friends, but you can\'t see my friends list because I can\'t really trust you to use that data in the same way I would.<br><br>This has a big impact on how people use the service since that\'s how you find your other friends.<br><br>Great! Nice can of worms you\'ve opened here. :-)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9698358">\
	 <div id="dsq-comment-header-9698358" class="dsq-comment-header">\
	 <cite id="dsq-cite-9698358" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9698358" href="http://blog.plaxo.com/" target="_blank" rel="nofollow">John McCrea</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9698358" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9698358" class="dsq-comment-message">Reading Judi\'s original post, you\'d think that she feels anyone who would use the service would be violating the privacy of their friends by uploading their contact info without their permission.<br><br>Strange, here\'s what she was saying about Plaxo just a few months ago:<br><br>"The idea behind the new Plaxo is that it can serve as the \'hub\' of your calendar and contact data. If you have your contact and calendar data in multiple locations this is welcome relief. As web workers who deal with many different people using many different systems, it’s not uncommon for us to have calendar and contact data in bits &amp; pieces everywhere. Plaxo helps bring it all together."<br><br>Her full post on Web Worker Daily is here:<br><a href="http://webworkerdaily.com/2007/06/25/hands-on-with-the-new-plaxo/" rel="nofollow">http://webworkerdaily.com/2007/06/25/hands-on-w...</a></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9698360">\
	 <div id="dsq-comment-header-9698360" class="dsq-comment-header">\
	 <cite id="dsq-cite-9698360" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9698360" href="http://blog.plaxo.com/" target="_blank" rel="nofollow">John McCrea</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9698360" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9698360" class="dsq-comment-message">And Judi appeared to take no issue with the ability to import from LinkedIn:<br><br>"LinkedIn: For Premium Subscribers only. One-way sync of contacts, with only the ability to add LinkedIn contacts to Plaxo, not the other way around. The sync is also manual, which means you have to remember to initiate a sync. There’s some competition between these two services, so limitations shouldn’t be surprising."<br><br>Hmmmmmmmmmmmmmmm.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9698362">\
	 <div id="dsq-comment-header-9698362" class="dsq-comment-header">\
	 <cite id="dsq-cite-9698362" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9698362">Insider</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9698362" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9698362" class="dsq-comment-message">From her previous comment in this thread it looks like her opinion of Plaxo has changed:<br><br><a href="http://scobleizer.com/2008/01/05/plaxo-the-social-monster/#comment-1874256" rel="nofollow">http://scobleizer.com/2008/01/05/plaxo-the-soci...</a></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9698357">\
	 <div id="dsq-comment-header-9698357" class="dsq-comment-header">\
	 <cite id="dsq-cite-9698357" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9698357">David Politis</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9698357" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9698357" class="dsq-comment-message">Robert:<br><br>I\'ve been following this whole mess for a couple of days, and it really is a BIG MESS. My take on this for you and all your readers is best explained on "Utah Tech Watch" at <a href="http://www.utahtechwatch.com/industry/who-owns-social-media-data-scoble-facebook-plaxo-fracas-raises-questions/" rel="nofollow">http://www.utahtechwatch.com/industry/who-owns-...</a>.<br><br>For Zuckerberg and Facebook, my advice is that they need better public relations counsel, as I wrote on <a href="http://TheBettyFactor.com" rel="nofollow">TheBettyFactor.com</a> at <a href="http://www.thebettyfactor.com/2008/01/05/advice-for-mark-zuckerbook-and-facebook/" rel="nofollow">http://www.thebettyfactor.com/2008/01/05/advice...</a>.<br><br>Good luck, Robert. Hope to see you at CES.<br><br>Dave Politis</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9698377">\
	 <div id="dsq-comment-header-9698377" class="dsq-comment-header">\
	 <cite id="dsq-cite-9698377" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9698377" href="http://www.bitsofws.com/" target="_blank" rel="nofollow">James B</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9698377" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9698377" class="dsq-comment-message">Sorry Robert but I disagree with you totally and feel it was wrong for you to import your Facebook "Friends" into Plaxo, test account or not, and Facebook had every right to drop your account.<br><br>As one of your Facebook "Friends" I followed what you were into, emailed once and awhile and hope you found something I linked to or posted of interest. What I did not do is give you permission to post my email address or personal information to a third party site. It really doesn\'t matter what Facebook does or does not do with my information as I have given them permission by agreeing to their Terms of Service, that is a none point. It really doesn\'t matter if there are other tools for doing the same task, the tool is not the issue, the issue was your call to basically crawl Facebook for Plaxo and provide Plaxo with 5,000 valid email addresses.<br><br>You say you wanted to push Facebook\'s buttons so you ran a script to export information Facebook deems their property and gave it to a third party. Did you run any such script while at Microsoft and provide thousands, millions of email addresses of Microsoft customers to a third party? Of course not because you knew 1) Microsoft would have canned you and likely taking you to court, 2) you considered that information the property of Microsoft, 3) you just knew it was wrong. What\'s the differnece?<br><br>I follow your Blog, checked out things you did on Facebook, watched for your name in the news or other Blog post and still will but we will have to agree to disagree on this one, you were wrong.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9698373">\
	 <div id="dsq-comment-header-9698373" class="dsq-comment-header">\
	 <cite id="dsq-cite-9698373" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9698373" href="http://www.momathome.com/" target="_blank" rel="nofollow">Judi Sohn</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9698373" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9698373" class="dsq-comment-message">John, My positive comments were entirely about Plaxo, the contact data sync manager. I was a paid premium member for years.<br><br>Then you introduced Pulse and switched focus to social networking. And now it\'s not about my contact list as an easy way of getting at phone numbers, it\'s about the friends of the friends and connections in my contact list. All well and good, but that isn\'t what I signed up for.<br><br>As I said a few minutes ago in a reply to your comment on my blog:<br><br>"You can’t be an \'address book service\' when it’s convenient, and a social network the rest of the time without drawing these kinds of questions.<br><br>And since you are for sale, you should be very clear about the data you have and the connections you’ve built (and are capable of building) with the profiles of non-members. Your privacy policy says what you won’t do. I want to know what you have and can do, but don’t because you’re ethical. Your buyer may not be.<br><br>An address book service is putting pebbles inside a black cup. A social network is putting pebbles into a clear bowl. Which is it? It’s my position that you can’t have it both ways."</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9698354">\
	 <div id="dsq-comment-header-9698354" class="dsq-comment-header">\
	 <cite id="dsq-cite-9698354" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9698354" href="http://www.drewolanoff.com/" target="_blank" rel="nofollow">drew olanoff</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9698354" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9698354" class="dsq-comment-message">I\'m sure it\'s been pointed out, but when you import a friend from Gmail, it sends them a friend request.  An OPT IN to be your friend.  No actions happen until they approve it.<br><br>That\'s the difference.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9698356">\
	 <div id="dsq-comment-header-9698356" class="dsq-comment-header">\
	 <cite id="dsq-cite-9698356" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9698356" href="http://www.saltedlolly.com/" target="_blank" rel="nofollow">Olly S</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9698356" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9698356" class="dsq-comment-message">Those of you who are worried about what a potential sale of Plaxo would mean for your data would be well advised to take a look at their privacy policy:<br><a href="http://www.plaxo.com/privacy" rel="nofollow">http://www.plaxo.com/privacy</a><br><br>The question of what happens to your data if the company is sold is answered here:<br><a href="http://www.plaxo.com/privacy/q_and_a#q7" rel="nofollow">http://www.plaxo.com/privacy/q_and_a#q7</a><br><br>Personally I trust them - their privacy policy is one of the best in the industry. They put the user first in almost every area - asserting that ownership of the contact data you add to their system<br>is yours, and they will never do anything with it without first notifying you in advance to give you the chance to opt-out.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9698355">\
	 <div id="dsq-comment-header-9698355" class="dsq-comment-header">\
	 <cite id="dsq-cite-9698355" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9698355" href="http://www.saltedlolly.com/" target="_blank" rel="nofollow">Olly S</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9698355" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9698355" class="dsq-comment-message">Also Robert, for reasons I cannot fathom, your website is blocked in China - I am accessing it through a proxy. Can\'t imagine what you could have done to piss of the Chinese government. Is there anything you want to tell us? ;)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9698371">\
	 <div id="dsq-comment-header-9698371" class="dsq-comment-header">\
	 <cite id="dsq-cite-9698371" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9698371" href="http://www.momathome.com/" target="_blank" rel="nofollow">Judi Sohn</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9698371" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9698371" class="dsq-comment-message">Thanks, Olly. But I was asking about the information belonging to *non members.* Folks who were added to the Plaxo system through a member syncing a database (or running a Facebook script).<br><br>I\'m glad Plaxo will notify members before the company is sold. Will they also send notice to everyone I added to my contact list? To the folks that Robert scraped from Facebook into his test account? While you can ask to be removed from a member\'s address book, can you ask to be removed from ALL member address books?<br><br>I\'m not saying that I think the answers to these questions are negative. I\'m saying these are questions that should have been asked and answered before running a "push Facebook\'s buttons" script loose on 5,000 of your "friends."</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9698370">\
	 <div id="dsq-comment-header-9698370" class="dsq-comment-header">\
	 <cite id="dsq-cite-9698370" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9698370">Karim</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9698370" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9698370" class="dsq-comment-message"><i>Whether Scoble read them or not, or even understood them, he agreed to FB’s [TOS] by creating an account. So, what FB does or doesn’t do wrt to other systems is irrelevant to this issue. Scoble violated terms he agreed to.</i><br><br>I agree he violated Facebook\'s ToS (if you assume that the Plaxo program qualifies as a "script"); I agree two wrongs don\'t make a right.  BUT...<br><br>All Scoble was doing to Facebook was what Facebook constantly does to others.  In that sense, he is doing several things: pointing out a MASSIVE hypocrisy on Facebook\'s part, for one.  Making it clear that Facebook\'s idea of customer service is to kick your ass to the curb and ask questions later, for another.  Making folks <i>think</i>, and getting people to <i>discuss</i> the issues involved, for another.<br><br>In some ways, what Scoble did was analogous to civil disobedience.  In civil disobedience, people EXPECT to be arrested, because they are breaking some <i>minor</i> law (in a non-violent way) in order to bring the public\'s attention to some OTHER wrong that is <b>FAR, FAR GREATER.</b><br><br>In this case, Scoble has brought our attention to the fact that Facebook is a MASSIVE hypocrite: it constantly screen-scrapes email addresses from other email services, but doesn\'t allow YOU to do the same to Facebook.  He has also brought to our attention their stellar "shoot first, ask questions later" customer service.  And he\'s making a lot of people think about how dependent they are on the services they use.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9698374">\
	 <div id="dsq-comment-header-9698374" class="dsq-comment-header">\
	 <cite id="dsq-cite-9698374" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9698374">Donald</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9698374" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9698374" class="dsq-comment-message">@68  And I\'m sure as an employee of Plaxo you don\'t mind LinkedIn\'s offering, either.  But you are still missing the point.  Linked in permits their users to do that (and they also require you to PAY them to be able to do that).<br><br>Write or wrong, FB doesn\'t allow it.  LinkedIn does. The point is the blatant violation of the FB TOS. If I were Plaxo and I really wanted to mine the FB directory, I would have reached out to FB and proposed a service to them that was a win/win so everyone could be up front about what was happening.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9698352">\
	 <div id="dsq-comment-header-9698352" class="dsq-comment-header">\
	 <cite id="dsq-cite-9698352" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9698352">Donald</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9698352" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9698352" class="dsq-comment-message">@78.  He knew going in what the rules are.  Hypocritical or not, he agreed to them. This is not akin to civil disobedience. This is more akin to going to a free concert, knowing that recording devices aren\'t allowed, but using them anyway and bitching about getting caught and thrown out, but then saying it\'s not fair because the concert promoter was recording the concert for a future album release. Scoble wasn\'t trying to the Martin Luther King of social networking.  More like trying to be the Al Sharpton or Jesse Jackson...concerned more about visibility than actual change.<br><br>I would have been inclined to almost buy into your "power to the people" theory if not for what Lisa @61 above points out. It appears Scoble is being a hypocrite.  He didn\'t agree with it then.  My guess is because he couldn\'t figure out how to do it himself so he came out against it.  Now that someone ELSE provided him a tool for a product he\'s shilled for in the past, he\'s fine with it.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9698367">\
	 <div id="dsq-comment-header-9698367" class="dsq-comment-header">\
	 <cite id="dsq-cite-9698367" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9698367">ZebZiggle</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9698367" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9698367" class="dsq-comment-message">Karim ... hypocrite? Puhleazze. And certainly not as critical as the risk of the data leaving without your permission. If you had of read the FB TOS, you would know not to back yourself into a corner.<br><br>To be honest ... I like the corner. I like knowing that my data is a (or at least should be) a one-way street. I *choose* to put it in there. FB is doing the right thing detecting and enforcing that someone was running a script. I know all bets are off when I add a third-party FB application, which is why I don\'t add them. Nothing. Not one. I only use FB sanctioned apps which live under the FB TOS and privacy policy. Your mileage may vary.<br><br>As I\'ve mentioned to friend, I think the solution is to support multi-tiered privacy in addition to the fine-grained privacy that FB offers.<br><br>Let\'s say (back of the napkin):<br><br>Level 1 - I won\'t share anything about you. Promise.<br><br>Level 2 - I may share your status, hobbies, movies, etc.<br><br>Level 3 - I may share your name, gender, age and general geography.<br><br>Level 4 - I may share your phone numbers, home address or email.<br><br>Level 5 - I don\'t promise anything. Give me your info at your own risk.<br><br>For example, "Only share [this data] with friends that offer privacy level 2 or less" where N is some gradient of assurance/promise. The platform should enforce no one gets what they shouldn\'t. It\'s privacy policies on a relationship-by-relationship basis.<br><br>In this case, Robert was Level 5.<br><br>That way, of the 5000 FB friend of Scoble only a lazy or care-free subset could have their data exported.<br><br>Thoughts?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9698353">\
	 <div id="dsq-comment-header-9698353" class="dsq-comment-header">\
	 <cite id="dsq-cite-9698353" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9698353" href="http://www.nomolisa.com/" target="_blank" rel="nofollow">Ajay Mishra</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9698353" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9698353" class="dsq-comment-message">I like Scolbe\'s idea of DRM to profile data.<br><br>Its like mini-me: I, me, Mine.. implemented, especially keeping in mind American sensibilities around privacy and private data etc.<br><br>I just somehow, dont understand why: people enter Gmail and other userid and password data on such sites !<br><br>Anyway, we would be launching mine-me ( I, Me, Mine) stuff --&gt; Robert Scolbe calls it DRM for profile data.. Cool..<br><br>ciao<br>ajay</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9698369">\
	 <div id="dsq-comment-header-9698369" class="dsq-comment-header">\
	 <cite id="dsq-cite-9698369" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9698369">Karim</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9698369" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9698369" class="dsq-comment-message"><i>Scoble wasn’t trying to the Martin Luther King of social networking. More like trying to be the Al Sharpton or Jesse Jackson…concerned more about visibility than actual change. </i><br><br>You know, back in the day, a lot of people put King, Jackson &amp; Sharpton in the same bucket.  Though we have a holiday for MLK now.<br><br>I do not know what you mean by "concerned more about visiblity."  Doesn\'t knowing his true "concerns" involve the ability to read his mind?  Scoble <i>says</i> he just wants to try out this Plaxo program, but you (being able to read minds) know that his <i>real</i> motivation is "visibility," whatever that means.<br><br>We can guess at his "real" motivation all day long, but you can only <i>reasonably</i> discuss what he actually did and said.<br><br>And in the end, what does it matter anyway?  Did Scoble, King, Jackson or Sharpton do everything they did because, deep down inside, they were all attention whores?  The motivation doesn\'t matter quite so much as <i>the acts themselves.</i>  Besides, half the time people don\'t know their OWN motivations!<br><br>The other half of the time they project their own motivations onto others.  ;-)<br><br><i>I would have been inclined to almost buy into your “power to the people” theory if not for what Lisa @61 above points out. It appears Scoble is being a hypocrite. He didn’t agree with it then.</i><br><br>:-)  It doesn\'t look like he\'s being a hypocrite to me, because they\'re two different issues.<br><br>The story Scoble commented on (mentioned by Lisa @ 61) was about a guy who took 4,600 addresses out of Gmail, and <b>MASS E-MAILED ALL 4,600 ADDRESSES</b> with invitations to join Facebook.<br><br>Scoble left a comment calling that "spam behavior."  Presumably because it <i>is.</i>  :-)  If AOL or Comcast sees several hundred messages dumped on their doorstep by a Facebook mail server, Facebook might end up on a spam/UCE blacklist.<br><br>Sending unsolicited email to 4,600 people isn\'t the same thing as harvesting 5,000 email addresses.  They\'re totally different things.  You can be against <i>sending email to</i> 5,000 people while being in favor of being able to <i>collect</i> 5,000 email addresses.  One involves annoying people and the other doesn\'t.  :-)<br><br>Remember, Facebook is one in power here: they\'re the ones with the 15 billion dollar valuation, they\'re the ones "erasing" people without so much as a WARNING, they\'re the ones sponsoring Presidential Debates in New Hampshire.  We\'re just the people.  So yeah, power to the PEOPLE, baby!  Can you dig it? :-)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9698372">\
	 <div id="dsq-comment-header-9698372" class="dsq-comment-header">\
	 <cite id="dsq-cite-9698372" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9698372">ZebZiggle</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9698372" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9698372" class="dsq-comment-message">The DRM that Robert proposes is fine-grained control and what FB already has. You control what can be seen on a per item basis, but it applies the same to everyone. What I\'m proposing is computed on-the-fly depending on who you are talking to. The context of the conversation changes the rules.<br><br>Another way to interpret what he is saying is that I have to explicitly set it for each friend. This doesn\'t scale, especially for 5000 friends.<br><br>The level proposal is a general agreement in principle. Of course, is someone is scum, they will say "I share nothing" when, in fact, they will.<br><br>Trust.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9698366">\
	 <div id="dsq-comment-header-9698366" class="dsq-comment-header">\
	 <cite id="dsq-cite-9698366" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9698366">Karim</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9698366" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9698366" class="dsq-comment-message"><i>hypocrite? Puhleazze.</i><br><br>"Hypocrisy is the act of condemning another person for an act of which the critic is guilty."<br><br><a href="http://en.wikipedia.org/wiki/Hypocrite" rel="nofollow">http://en.wikipedia.org/wiki/Hypocrite</a><br><br>Facebook condemns you for screen scraping email addresses.  Yet they screen-scrape email addresses every day, from Gmail, Hotmail, and Yahoo! Mail, in violation of Terms of Service.  Facebook = hypocrite.<br><br><i>I like knowing that my data is a (or at least should be) a one-way street. I *choose* to put it in there. FB is doing the right thing detecting and enforcing that someone was running a script.</i><br><br>You know, I could almost buy the "Facebook as Protector and Guardian of Your Data" thing if it weren\'t for <a href="http://en.wikipedia.org/wiki/Beacon_%28Facebook%29" rel="nofollow">Facebook Beacon</a>.  Obviously they\'re only interested in protecting your privacy to the extent it doesn\'t interfere with them turning a buck.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9698368">\
	 <div id="dsq-comment-header-9698368" class="dsq-comment-header">\
	 <cite id="dsq-cite-9698368" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9698368" href="http://my.opera.com/Rijk/" target="_blank" rel="nofollow">Rijk</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9698368" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9698368" class="dsq-comment-message">I totally don\'t understand the problem. I\'m a bit like Judi Sohn - I don\'t want someone I don\'t really know to have access to my profile, so I do not \'friend\' such people on Facebook.<br><br>People seem to have mixed up expectations. It should be utterly obvious that the \'FAN ONLY\' permission type Robert mentions does not exist at the moment - so why expect that to be honored?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9698443">\
	 <div id="dsq-comment-header-9698443" class="dsq-comment-header">\
	 <cite id="dsq-cite-9698443" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9698443">Donald</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9698443" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9698443" class="dsq-comment-message">@83<br><br>"You know, back in the day, a lot of people put King, Jackson &amp; Sharpton in the same bucket. Though we have a holiday for MLK now."<br><br>And there\'s a reason we don\'t have a Jackson or Sharpton holiday.  At one time I\'m sure Jackson was a true supported of MLK, given he was there the day King was shot. But then he saw he could make a lot of money preying off of perceived racism.  But...we digress.<br><br>"I do not know what you mean by “concerned more about visiblity.” Doesn’t knowing his true “concerns” involve the ability to read his mind? Scoble says he just wants to try out this Plaxo program, but you (being able to read minds) know that his real motivation is “visibility,” whatever that means."<br><br>True I cannot read his mind.  I can only go by his actions.  I\'m sure there is some reason he didn\'t want to handle this privately and not tell the world what happened. Just like Jackson never does much behind the scenes<br><br>"The story Scoble commented on (mentioned by Lisa @ 61) was about a guy who took 4,600 addresses out of Gmail, and MASS E-MAILED ALL 4,600 ADDRESSES with invitations to join Facebook.<br><br>Scoble left a comment calling that “spam behavior.” Presumably because it is. :-) If AOL or Comcast sees several hundred messages dumped on their doorstep by a Facebook mail server, Facebook might end up on a spam/UCE blacklist.<br><br>Sending unsolicited email to 4,600 people isn’t the same thing as harvesting 5,000 email addresses. They’re totally different things. You can be against sending email to 5,000 people while being in favor of being able to collect 5,000 email addresses. One involves annoying people and the other doesn’t. :-)"<br><br>True.  But had he not gotten caught and his hand slapped, we have no idea what Plaxo would have done with the data.  But, given their past history....... True, Scoble says "he didn\'t do anything the data", but we will never know for sure.<br><br>"Remember, Facebook is one in power here: they’re the ones with the 15 billion dollar valuation, they’re the ones “erasing” people without so much as a WARNING, they’re the ones sponsoring Presidential Debates in New Hampshire. We’re just the people. So yeah, power to the PEOPLE, baby! Can you dig it? :-)"<br><br>This again is the two wrongs make a right illogical argument.  You do understand the concept of "participate volunaritly"?.  Facebook users signed up for this when they created an account.  Shame on them for finding out later how one sided their TOC\'s are.   Do I agree with them?  No. But, they are really not all that different than other types of FREE services.   The user assumes all the risk.  Until you start paying money, that\'s pretty much how it is. Users agreed to these terms when they signed up.  Facebook will only change them if they can still legally protect themselves.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9698442">\
	 <div id="dsq-comment-header-9698442" class="dsq-comment-header">\
	 <cite id="dsq-cite-9698442" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9698442" href="http://www.2pad.com/" target="_blank" rel="nofollow">Ginrod</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9698442" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9698442" class="dsq-comment-message">Hey, there is a new web 2.0 service to counter the trend of over the top media sharing promoted by social networking sites.<br><br>2Pad was developed by 3 French entrepreneurs as the only private photo and sharing service. Using the latest in web technology, such as Ajax, 2Pad allows you to privately share your media from your personal gallery.<br><br>Simply start by sending your media via email to <a href="mailto:2pad@2pad.com" rel="nofollow">2pad@2pad.com</a> and 2Pad automatically creates your personal gallery. We would love you to test it out and send us feedback!<br>Thanks!<br>Susi and the 2Pad Team.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9698375">\
	 <div id="dsq-comment-header-9698375" class="dsq-comment-header">\
	 <cite id="dsq-cite-9698375" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9698375">grinch</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9698375" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9698375" class="dsq-comment-message">First off, Plaxo spams everyone in your contact list with requests to update.  That, in itself, should show you that importing your contacts into Plaxo is a bad idea (unless you really want to make them ex-contacts).<br><br>People signed up for Facebook and made you a "friend".  They didn\'t give you permission to fold, spindle, and mutilate their personal information via non-Facebook systems, spam them, drop by their RL residence uninvited, or stalk them.<br><br>Your actions are one of the reasons  people point out as the evils of social networking.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9698376">\
	 <div id="dsq-comment-header-9698376" class="dsq-comment-header">\
	 <cite id="dsq-cite-9698376" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9698376" href="http://blog.macb.net" target="_blank" rel="nofollow">macbeach</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9698376" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9698376" class="dsq-comment-message">#86:  You\'re being too kind to vendors.<br><br>I\'ve never read a TOS that involved paying money that promised me anything more than a refund if the product failed to perform (and even then the costs associated with getting that refund seem to exceed the refund amount).<br><br>The issue here involving TOSs is an ethical one, not a legal one.  As far as I can see, nobody has broken any laws.<br><br>It seems clear that there are Facebook users here so rabid that they can\'t conceive of the company being wrong about anything.  Considering their recent and documented excesses, this is quite impressive.  You can indeed fool some of the people all of the time.  But we already knew that.<br><br>I\'m starting to think that Google was very lucky to not have gotten involved with this company.<br><br>I feel sorry for some of my friends who have given out so much information on themselves via Facebook to companies that they know nothing about, in exchange for being able to throw virtual sheep or food items at one another.<br><br>I read one post above from someone who had never installed a single Facebook app.   There must be very few people in that category.  The Facebook apps are hardly a replacement for e-mail, photo sharing, blogging or dozens of other things people do on the Internet.  Facebook is in the cat-bird-seat, collecting all the profitable information about their users and leaving the heavy lifting to companies and individuals all over the world, in many cases way out of reach of our legal system.<br><br>The people who have used some of these apps are going to need something like Plaxo, because there will be a flurry of e-mail address changes in the next couple of years as all of this information gets out and the old addresses become unusable.<br><br>#41:  You got the hypocrisy right.  You need more typos in your message though.  It\'s getting really hard to believe that Facebook started out with an exclusive college user base.  A bit scary too.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9698427">\
	 <div id="dsq-comment-header-9698427" class="dsq-comment-header">\
	 <cite id="dsq-cite-9698427" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9698427" href="http://chestershomeremedies.com/" target="_blank" rel="nofollow">Chester&#39;s Home Remedies</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9698427" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9698427" class="dsq-comment-message">I was trying to warn one of my friends with teenage daughters about the dangers of Facebook. It was amazing to me that her daughters were so in love with the program that nothing we told them could possibly make them stop. If anyone has a good way to help explain to teenage girls the dangers that it trully poses for them and their future, please post it so that I can use it. Thanks!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9698424">\
	 <div id="dsq-comment-header-9698424" class="dsq-comment-header">\
	 <cite id="dsq-cite-9698424" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9698424">Donald</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9698424" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9698424" class="dsq-comment-message">@86  Not a Facebook user. Nice try.  I see private investigating in your future.<br><br>"The issue here involving TOSs is an ethical one, not a legal one. As far as I can see, nobody has broken any laws."<br><br>No, it IS a legal one.  There\'s civil and criminal law.  This has to do with civil law, which more often than not doesn\'t involve law breaking.  The user, when signing up, is given adequate opportunity to read and view the TOS, and also has to AGREE to them.  Basic contract law 101.<br><br>"I’ve never read a TOS that involved paying money that promised me anything more than a refund if the product failed to perform (and even then the costs associated with getting that refund seem to exceed the refund amount)."<br><br>I find that difficult if not outright impossible to believe.  If you\'ve ever opened a box of software you\'ve agreed to similar Terms of Use, also known an End User License Agreement.  If you\'ve ever downloaded beta software you\'ve agree to similar terms of use; particularly in the are of indemnity and the company\'s responsibility for your data when using your software.  My guess is, you\'ve agree to similar types of TOS\'s. Whether you actually read them or not is another question.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9698426">\
	 <div id="dsq-comment-header-9698426" class="dsq-comment-header">\
	 <cite id="dsq-cite-9698426" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9698426">Stacy Martin</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9698426" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9698426" class="dsq-comment-message">Wow - this discussion is fascinating.  It\'s obvious people are still as passionate about privacy issues as they were a year ago when I left my position as Plaxo\'s Chief Privacy Officer. While I\'m no longer associated with Plaxo, I wanted to share my own thoughts on the matter.<br><br>First, as long as people disagree on who owns PII (Personally Identifiable Information), there will always be disagreements over privacy.  To me, it\'s very clear - any PII data I possess through legitimate means, is my information.  It may be information about me, my pet, my family, or my acquaintances... but the information is still my information... and I may do with that information whatever is legally permissible.<br><br>If I post my information (or a subset) someplace where others can access it and read it... the source is still my information, but if others make a legitimate copy of the data, then that copy is now THEIR information. There is no copyright protection for contact details.  If I don\'t want others to have it, I should take better care when posting. By posting information in a public place, I should have full understanding of the possible implications.<br><br>People are free to use their information as is legally permissible.  Different countries may have different types of restrictions and laws when it comes to PII.  But there is no country I\'m aware of that prohibits the possession and storage of PII for personal purposes.  Furthermore, there is no country that requires permission from the data subject in order for a data owner to posses and store PII information for personal purposes.  Thank goodness for this, cause imagine the lunacy of requiring permission from the data subject everytime you wished to save their Name, email address, or phone number.<br><br>In Scoble\'s case, my understanding is he had legitimate access to the information and therefore has the ability to make the information his own. TOS issues aside, whether he writes the information down on his own, or uses some other tool, it\'s simply a matter of degree and effort. I think it\'s a stretch to describe\'s FB\'s TOS prohibiting automated screen scraping as an effort to protect members\' privacy. FB already protect\'s members\' privacy by prohibiting unauthorized access to members\' information, regardless of what mechanism is used. Specifically prohibiting automated tools is more likely to protect the service from service attacks as well as maintain vendor lock-in, which I think is partially Scoble\'s point.<br><br>But one thing I do appreciate is FB statement regarding data ownership: Facebook doesn\'t own a member\'s data - the member does.  This was one of the main principles we established at Plaxo and I\'m happy to see other services have picked up on this as well.  While I was at Plaxo, the basic privacy principles we established were: the member owns their information and decides who will have access to it; the member maintains ownership of their data at all times, even if the company is sold or merged, and the member can add, delete, or modify their information at any time. Read the privacy policy of other popular services, you\'d be surprised how many of them service DON\'T state this.  Does this mean that THEY own their user\'s data???  It\'s scary.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9698351">\
	 <div id="dsq-comment-header-9698351" class="dsq-comment-header">\
	 <cite id="dsq-cite-9698351" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9698351" href="http://www.gastronomicfightclub.com/" target="_blank" rel="nofollow">Snekse</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9698351" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9698351" class="dsq-comment-message">Very good points and I like your ideas of controlling how we allow access to our information on other systems.  Seems a little like OpenID.  I like the fact that you added "FAN" as an option.  There are tons of bloggers and others I\'ve met that I wouldn\'t call a friend, but I still have some contact with them and want to keep connected.  This brings up another point that I\'m a bit surprised you didn\'t touch on.  A friend is not always a friend.  More importantly, a family member isn\'t always a family member.  I\'m still waiting for the day when social networks will realize they can\'t shoehorn everyone into a couple of predefined categories that *they* choose for all of their users.  They should just allow the users to create their own categories and the settings for those categories.  Oh, and create hierarchies too.  After all, my wife\'s family is not the same as my family and my aunt is not the same as my mom, yet they are all family.</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=plaxo_the_social_monster&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);
			}
		}
	});
}

})();




