




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

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

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

var Dsq = new function() {
	this.container = document.getElementById('dsq-content');
	this.jsonData = {"reactions": [], "has_more_reactions": false, "users": {"e8d0dde0c4b3d65b72a92bba1fee5aa7": {"username": "Chris", "tumblr": "", "display_name": "Chris", "url": "http://disqus.com/guest/e8d0dde0c4b3d65b72a92bba1fee5aa7/", "registered": false, "linkedin": "", "blog": "http://www.beercosoftware.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": ""}, "519796ea0ec0ec0d33c802c233d868fc": {"username": "Chris Wild", "tumblr": "", "display_name": "Chris Wild", "url": "http://disqus.com/guest/519796ea0ec0ec0d33c802c233d868fc/", "registered": false, "linkedin": "", "blog": "http://www.icemark.com/blog/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "0b887c77a19c495b68a6772972c23a23": {"username": "JMC", "tumblr": "", "display_name": "JMC", "url": "http://disqus.com/guest/0b887c77a19c495b68a6772972c23a23/", "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": ""}, "a6d980c7587d9ebbd1c3820e0f0092e7": {"username": "Alejandro", "tumblr": "", "display_name": "Alejandro", "url": "http://disqus.com/guest/a6d980c7587d9ebbd1c3820e0f0092e7/", "registered": false, "linkedin": "", "blog": "http://www.la-res-publica.com.ar/", "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": ""}, "2a546263bc93b9f1a50c81278f431b58": {"username": "S\u00e9rgio Carvalho", "tumblr": "", "display_name": "S\u00e9rgio Carvalho", "url": "http://disqus.com/guest/2a546263bc93b9f1a50c81278f431b58/", "registered": false, "linkedin": "", "blog": "http://k.blog.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": ""}, "7e897d04a6d420dad79a3eda9ca55ee6": {"username": "Julio Colon", "tumblr": "", "display_name": "Julio Colon", "url": "http://disqus.com/guest/7e897d04a6d420dad79a3eda9ca55ee6/", "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": ""}, "4923686384eb6f74738a55dc0ce2204c": {"username": "Steven Richardson", "tumblr": "", "display_name": "Steven Richardson", "url": "http://disqus.com/guest/4923686384eb6f74738a55dc0ce2204c/", "registered": false, "linkedin": "", "blog": "http://carneyfamily.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": ""}, "41fb1a8cb9014f4e4d7656ac2df67e00": {"username": "Michael Shores", "tumblr": "", "display_name": "Michael Shores", "url": "http://disqus.com/guest/41fb1a8cb9014f4e4d7656ac2df67e00/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "3553f5e0db0fd1ec4e40a932a2d8f5b3": {"username": "Robert Scoble", "tumblr": "", "display_name": "Robert Scoble", "url": "http://disqus.com/guest/3553f5e0db0fd1ec4e40a932a2d8f5b3/", "registered": false, "linkedin": "", "blog": "http://scobleizer.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/4069/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "8a74eb39ee732df0661ae4a5c8244172": {"username": "disenchantedtech", "tumblr": "", "display_name": "disenchantedtech", "url": "http://disqus.com/guest/8a74eb39ee732df0661ae4a5c8244172/", "registered": false, "linkedin": "", "blog": "http://disenchantedtech.wordpress.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/158/9065/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "d98f5ef6232bc8bc14e7a3c31319873f": {"username": "Gasten", "tumblr": "", "display_name": "Gasten", "url": "http://disqus.com/guest/d98f5ef6232bc8bc14e7a3c31319873f/", "registered": false, "linkedin": "", "blog": "http://hauntedhouse.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": ""}, "bcdfaa3ebdd6783fd80a3130c4a4e06d": {"username": "BoardTracker", "tumblr": "", "display_name": "BoardTracker", "url": "http://disqus.com/guest/bcdfaa3ebdd6783fd80a3130c4a4e06d/", "registered": false, "linkedin": "", "blog": "http://www.boardtracker.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": ""}, "c8bc589a330bf3ea7e2aaeec4175a870": {"username": "John Jamieson", "tumblr": "", "display_name": "John Jamieson", "url": "http://disqus.com/guest/c8bc589a330bf3ea7e2aaeec4175a870/", "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": ""}, "3f9383da1a07d250acdb9973c899cb98": {"username": "Oh Noes!", "tumblr": "", "display_name": "Oh Noes!", "url": "http://disqus.com/guest/3f9383da1a07d250acdb9973c899cb98/", "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": ""}, "29565632ac87bd71a62480564024c6ff": {"username": "AudioPro", "tumblr": "", "display_name": "AudioPro", "url": "http://disqus.com/guest/29565632ac87bd71a62480564024c6ff/", "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": ""}, "fd620d30ce856c99eeac7d190bbd4111": {"username": "Mark Ashton", "tumblr": "", "display_name": "Mark Ashton", "url": "http://disqus.com/guest/fd620d30ce856c99eeac7d190bbd4111/", "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": ""}, "ce1b8599c98feabb26fc90fd9ad5df87": {"username": "Pim de Groot", "tumblr": "", "display_name": "Pim de Groot", "url": "http://disqus.com/guest/ce1b8599c98feabb26fc90fd9ad5df87/", "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": ""}, "204d53f26a4da6d5920108e26c268634": {"username": "Sean McGee", "tumblr": "", "display_name": "Sean McGee", "url": "http://disqus.com/guest/204d53f26a4da6d5920108e26c268634/", "registered": false, "linkedin": "", "blog": "http://designbyseanmcgee.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": ""}, "aaa1c400b7e02bea94b84ce889e72dbd": {"username": "seshadri", "tumblr": "", "display_name": "seshadri", "url": "http://disqus.com/guest/aaa1c400b7e02bea94b84ce889e72dbd/", "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": ""}, "15cf42a96576559fee2a0f904427b8a0": {"username": "joehewitt", "tumblr": "", "display_name": "joehewitt", "url": "http://disqus.com/guest/15cf42a96576559fee2a0f904427b8a0/", "registered": false, "linkedin": "", "blog": "http://joehewitt.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": ""}, "c8c8ab3c5958df1cd8c2b78bc6db2664": {"username": "tomonzo", "tumblr": "", "display_name": "tomonzo", "url": "http://disqus.com/guest/c8c8ab3c5958df1cd8c2b78bc6db2664/", "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": ""}, "caa93e0aae865a4502cd19dcd118fab9": {"username": "Colin Henderson", "tumblr": "", "display_name": "Colin Henderson", "url": "http://disqus.com/guest/caa93e0aae865a4502cd19dcd118fab9/", "registered": false, "linkedin": "", "blog": "http://thebankwatch.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/11/9774/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "9cdd07b11421a4c6ca1b79322932064a": {"username": "billg", "tumblr": "", "display_name": "billg", "url": "http://disqus.com/guest/9cdd07b11421a4c6ca1b79322932064a/", "registered": false, "linkedin": "", "blog": "http://www.downfromthetrees.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": ""}, "4ff934cc3fd1df86867e12bda075ac28": {"username": "kota", "tumblr": "", "display_name": "kota", "url": "http://disqus.com/guest/4ff934cc3fd1df86867e12bda075ac28/", "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": ""}, "d5c7efa3f66d6fc8ef6750fa07558c8a": {"username": "Buddy Lindsey", "tumblr": "", "display_name": "Buddy Lindsey", "url": "http://disqus.com/guest/d5c7efa3f66d6fc8ef6750fa07558c8a/", "registered": false, "linkedin": "", "blog": "http://buddylindsey.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/109/1368/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "d1b44a8368e7418bc4347a587f7f83b9": {"username": "neverness", "tumblr": "", "display_name": "neverness", "url": "http://disqus.com/guest/d1b44a8368e7418bc4347a587f7f83b9/", "registered": false, "linkedin": "", "blog": "http://neverness.wordpress.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "28e7062cf519f8fc872685320c01d6c2": {"username": "dischant", "tumblr": "", "display_name": "dischant", "url": "http://disqus.com/guest/28e7062cf519f8fc872685320c01d6c2/", "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": ""}, "b481a42f191c510bc283c03d60e145f5": {"username": "Daniel", "tumblr": "", "display_name": "Daniel", "url": "http://disqus.com/guest/b481a42f191c510bc283c03d60e145f5/", "registered": false, "linkedin": "", "blog": "http://dnbl.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": ""}, "3fb505037d77a55dc96ef88dee7897ce": {"username": "ubuntista", "tumblr": "", "display_name": "ubuntista", "url": "http://disqus.com/guest/3fb505037d77a55dc96ef88dee7897ce/", "registered": false, "linkedin": "", "blog": "http://ubuntista.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": ""}, "b2628b4bcee472498e990db2ce2f19fb": {"username": "Tristan", "tumblr": "", "display_name": "Tristan", "url": "http://disqus.com/guest/b2628b4bcee472498e990db2ce2f19fb/", "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": ""}, "efa5b767ad276870368af0abf0f2e6b4": {"username": "kystorms", "tumblr": "", "display_name": "kystorms", "url": "http://disqus.com/guest/efa5b767ad276870368af0abf0f2e6b4/", "registered": false, "linkedin": "", "blog": "http://kystorms.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": ""}, "9c841e940470843bf04b30e3403e3490": {"username": "Joergen Ramskov", "tumblr": "", "display_name": "Joergen Ramskov", "url": "http://disqus.com/guest/9c841e940470843bf04b30e3403e3490/", "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": ""}, "31414a65f665559d397034df0e07a979": {"username": "oomu", "tumblr": "", "display_name": "oomu", "url": "http://disqus.com/guest/31414a65f665559d397034df0e07a979/", "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": ""}, "5a0f3d36a591e41b7dadd07c5f182a51": {"username": "ericdotnet", "tumblr": "", "display_name": "ericdotnet", "url": "http://disqus.com/guest/5a0f3d36a591e41b7dadd07c5f182a51/", "registered": false, "linkedin": "", "blog": "http://ericdotnet.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": ""}, "3a088b735d051bca68c1f02e292b207e": {"username": "PXLated", "tumblr": "", "display_name": "PXLated", "url": "http://disqus.com/guest/3a088b735d051bca68c1f02e292b207e/", "registered": false, "linkedin": "", "blog": "http://www.geise.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": ""}, "c7ac7d8e76d0ecf900384b68e196f645": {"username": "Udo", "tumblr": "", "display_name": "Udo", "url": "http://disqus.com/guest/c7ac7d8e76d0ecf900384b68e196f645/", "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": ""}, "df60b07a61176c26af4e7201f97c84c1": {"username": "Richard Querin", "tumblr": "", "display_name": "Richard Querin", "url": "http://disqus.com/guest/df60b07a61176c26af4e7201f97c84c1/", "registered": false, "linkedin": "", "blog": "http://jack-of-all-tradez.blogspot.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/13/9154/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "affa8195b52419bcf7cffb5cf4b82681": {"username": "Gene", "tumblr": "", "display_name": "Gene", "url": "http://disqus.com/guest/affa8195b52419bcf7cffb5cf4b82681/", "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": ""}, "ddc6e351cc6bc18da1c144598fdec627": {"username": "Werner Habel", "tumblr": "", "display_name": "Werner Habel", "url": "http://disqus.com/guest/ddc6e351cc6bc18da1c144598fdec627/", "registered": false, "linkedin": "", "blog": "http://wernerhabel.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": ""}, "cd1a82546822e02b308015d196efdfd4": {"username": "trademark registration", "tumblr": "", "display_name": "trademark registration", "url": "http://disqus.com/guest/cd1a82546822e02b308015d196efdfd4/", "registered": false, "linkedin": "", "blog": "http://www.secureyourtrademark.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": ""}, "23e6c3b998a8bcd1d5d317f7ab53963b": {"username": "Steven H", "tumblr": "", "display_name": "Steven H", "url": "http://disqus.com/guest/23e6c3b998a8bcd1d5d317f7ab53963b/", "registered": false, "linkedin": "", "blog": "http://blogs.herod.net/steven", "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": ""}, "9bb0bd0c73ed8e7e2d264c828be10cad": {"username": "ozlady", "tumblr": "", "display_name": "ozlady", "url": "http://disqus.com/guest/9bb0bd0c73ed8e7e2d264c828be10cad/", "registered": false, "linkedin": "", "blog": "http://www.ozlady.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": ""}, "9bd751707b3a2a5fdf6a8d8bb6c5f669": {"username": "Nicholas Butler", "tumblr": "", "display_name": "Nicholas Butler", "url": "http://disqus.com/guest/9bd751707b3a2a5fdf6a8d8bb6c5f669/", "registered": false, "linkedin": "", "blog": "http://www.butlershouse.co.uk/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/38/9062/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "92102dea23f5fa956d5e93962a5461cd": {"username": "Jon", "tumblr": "", "display_name": "Jon", "url": "http://disqus.com/guest/92102dea23f5fa956d5e93962a5461cd/", "registered": false, "linkedin": "", "blog": "http://www.midspot.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": ""}, "15626198d552b84b0d0d787f8ec124a7": {"username": "Maurice", "tumblr": "", "display_name": "Maurice", "url": "http://disqus.com/guest/15626198d552b84b0d0d787f8ec124a7/", "registered": false, "linkedin": "", "blog": "http://hauntingthunder.wordpress.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/15/1430/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "f29c1c44f0c43207f87cd00ae8768bf9": {"username": "Duncan", "tumblr": "", "display_name": "Duncan", "url": "http://disqus.com/guest/f29c1c44f0c43207f87cd00ae8768bf9/", "registered": false, "linkedin": "", "blog": "http://www.duncanriley.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": ""}}, "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_07:11:51", "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": {"9685255": {"up_voted": false, "ip": "", "has_replies": false, "message": "I've switced to Ubuntu 3 days ago. It's taking off.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-07-12_04:56:37", "killed": false, "user_key": "c8c8ab3c5958df1cd8c2b78bc6db2664", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9685256": {"up_voted": false, "ip": "", "has_replies": false, "message": "I've been using Ubuntu for over a year now.<br><br>Only reason I ever use Windows is to use QuickBooks for my business and my goal is to move away from that also next year.<br><br>I've used Windows, Mac, and Linux and, sorry to say Robert, but Linux is king!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-07-11_12:44:32", "killed": false, "user_key": "92102dea23f5fa956d5e93962a5461cd", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9685257": {"up_voted": false, "ip": "", "has_replies": false, "message": "#76: \"I haven\u2019t used KDE since 2001 or something.\"<br><br>That's 5-6 years ago! KDE 3 wasn't released until April 2002. KDE improved A LOT since then and even though it is still alpha, I will already highly recommend you taking a look at KDE 4 when it is released later this year.<br><br>Also, you can expect various KDE software to be available on Windows too (and OS X) since QT4 is dual licensed under the GPL for Windows too (that wasn't the case for previous versions of QT).<br><br>You are right that there has been problems with Apple not contributing back their changes, but that has been (mostly) solved now. One of the reasons Apple choose KHTML (and KJS) over Gecko (the Mozilla engine) was that KHTML is a much smaller codebase.<br><br>KHTML is in quite widespread use today considering it is used in Safari (which is on the iPhone too of course) and in Nokias S60 series phones. And Safari is available for Windows too these days (still beta though).", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-07-11_06:33:03", "killed": false, "user_key": "9c841e940470843bf04b30e3403e3490", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9685258": {"up_voted": false, "ip": "", "has_replies": false, "message": "oomu - here, here - you got that right, pal!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-07-11_05:41:21", "killed": false, "user_key": "9bb0bd0c73ed8e7e2d264c828be10cad", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9685259": {"up_voted": false, "ip": "", "has_replies": false, "message": "\"getting better all the time and it sounds like you don\u2019t really know much about it or KDE in general.\"<br><br>I haven't used KDE since 2001 or something.<br>But I do use apps that use the QT libs like Amarok for example, and qdvdauthor.<br><br>As for the difference between KHMTL and Konqueror, I believe Konqueror was the only browser that actually used it, so the difference is negligible.<br>Remember Galeon that used gtkmozembed?<br>I don't remember ever seeing one that used embedded KHTML before Safari.<br><br>Of course the UI is going to be different because they developed those APIs on top of their display server themselves. The drawing and parsing engine is still KHTML/Konqueror. I heard the KDE developers had a lot of problems with Apple as far as re-contributing the forked code as they were supposed to.<br><br>It's only a matter of time now until Adobe and other companies walk the plank off the pirate ship platforms and release Linux products. Whether they are priced to sell or not remains to be seen.<br><br>A platform free of piracy should be a 3rd party software company's dream platform, but they are too short sited to be able to realize it.<br>The revenue Linux generates from FOSS customization and Linux software application in manufacturing, web dev, retail, and systems management goes into the Billions with a B.<br>Linux has always been a customizable software system for use in specific software driven solutions.<br><br>Only in the past year or 2 have companies like Red Hat and Canonical packaged it up in the appropriate format for companies like Dell to be able to effectively use it as a premade stable Desktop solution.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-07-10_13:23:39", "killed": false, "user_key": "e8d0dde0c4b3d65b72a92bba1fee5aa7", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9685260": {"up_voted": false, "ip": "", "has_replies": false, "message": "&gt;Heck, look at the comments above, many of which are from hard core Linux advocates<br><br>hey!  I'm not \"hardcore\",  I'm soft-heart.   and I work mostly on macintosh.  please forget ALL yours olds bad linux \"friends\" and please, be open.<br><br><br>Linux did not \"failed\" to have a simple interface before \"compiz\" (of course not, the interface is Gnome).  but linux failed to have MANY  simple and integrated  APPLICATIONS for all the common needs of people.<br><br>the problem is not \"linux\"<br><br>linux is _Very_ fine.   put it on a good computer and it's rock solid, easy and all.<br><br>Applications are the problems.  we need  More apps, more more more.  stuff pretty as Delicious Library,    easy money stuff,  a kitchen receipt  program ,  stuff as good as Omnigraffle, a better openoffice (better gnome integration) ...<br><br>it's why os X is still a lot better :  the _applications_", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-07-10_10:03:20", "killed": false, "user_key": "31414a65f665559d397034df0e07a979", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9685261": {"up_voted": false, "ip": "", "has_replies": false, "message": "ubuntu has a music player which manage the ipod.<br><br>in an itune like style.  very nice.<br><br>(you can drop music in the ipod AND DRAG from it ! )<br><br><br>so many things marvellous to say about Ubuntu Linux.<br><br>but still, I'm very happy with mac os X and my mac.   but I could change my mind in a few month, even with leopard.<br><br>there are exciting developments in linux desktops these days.<br><br>the interface is more and more nice and polished and _simple_.  now we need Great Desktop Applications.  (free, commercial,  libre, closed, open, whatever , I want them all).", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-07-10_09:31:22", "killed": false, "user_key": "31414a65f665559d397034df0e07a979", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9685262": {"up_voted": false, "ip": "", "has_replies": false, "message": "My little sister (16 years old, and have no interest in computers what so ever - except designing homepages and LJ-avatars) switched to linux and have never looked back at windows. If she can, you can too.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-07-10_08:09:28", "killed": false, "user_key": "d98f5ef6232bc8bc14e7a3c31319873f", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9685263": {"up_voted": false, "ip": "", "has_replies": false, "message": "My year of Linux on the desktop has been 2000 :-)<br><br>But then it was freedom as an everyday labour, toil and strife.<br><br>The difference to Linux in 2007 is, that the freedom Linux offers, is becoming more and more and faster and faster a commodity and a convenience for its own best.<br><br>Amarok is a very good example for this<br><a href=\"http://amarok.kde.org\" rel=\"nofollow\">http://amarok.kde.org</a><br><br>as is KDE in general also as GNOME.<br><a href=\"http://kde.org/whatiskde/\" rel=\"nofollow\">http://kde.org/whatiskde/</a><br><a href=\"http://www.gnome.org/about/\" rel=\"nofollow\">http://www.gnome.org/about/</a><br><br>Beryl and Compiz have recently joined forces again for Compiz Fusion driving the whole free 3D desktop idea even stronger.<br><a href=\"http://www.opencompositing.org/\" rel=\"nofollow\">http://www.opencompositing.org/</a><br><br>Getting people to switch to Linux is less and less a matter of hunting down bugs and more a question of getting the word out.<br><br>Thank you very much Robert, for having made that just a great bit easier! ;-D<br><br>Best Regards<br><br>Werner", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-07-10_06:58:17", "killed": false, "user_key": "ddc6e351cc6bc18da1c144598fdec627", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9685264": {"up_voted": false, "ip": "", "has_replies": false, "message": "2 myths I also want to debunk.<br>The first is that piracy is obscure and that most people are good honest computer software buying users that own Windows and Mac.<br><a href=\"http://www.alexa.com/data/details/traffic_details?url=thepiratebay.org/\" rel=\"nofollow\">http://www.alexa.com/data/details/traffic_detai...</a><br><a href=\"http://ThePirateBay.org\" rel=\"nofollow\">ThePirateBay.org</a> is 264 on the entire internet and it's traffic is rising by the hour.<br>Most people are bit torrent stealing software pirates, who's only experience with photoshop and adobe products involves keygens and serialz with a z.<br><br>Linux so far has managed to avoid this type of consumer.<br><br>2nd, No major brands develop Linux software.<br><br>Though proprietary and free, Google is fast becoming one of the major closed source Linux software companies.<br>Desktop Search<br><a href=\"http://desktop.google.com/linux/\" rel=\"nofollow\">http://desktop.google.com/linux/</a><br>Picasa<br><a href=\"http://picasa.google.com/linux/\" rel=\"nofollow\">http://picasa.google.com/linux/</a><br>Google Earth<br><a href=\"http://earth.google.com/download-earth.html\" rel=\"nofollow\">http://earth.google.com/download-earth.html</a><br><br>And they are said to be developing many more closed source Linux software titles as binary RPMs. Annoying to Stallman, but useful for the rest of us. OK with Linus.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-07-09_22:48:14", "killed": false, "user_key": "e8d0dde0c4b3d65b72a92bba1fee5aa7", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9685265": {"up_voted": false, "ip": "", "has_replies": false, "message": "@Colin<br><br>\"Downside: lack of support for itunes is about the only gap I have seen.\"<br><br>yum install amarok<br><br>Amarok will synch to your ipod or music device and pretty much take the place of iTunes completely. Some even say it's better than iTunes. It works fine for me.<br><br><a href=\"http://amarok.kde.org\" rel=\"nofollow\">http://amarok.kde.org</a><br><br>Give Amarok a try and see if you miss iTunes.<br><br>\"\u2026 because linux had nothing going for it before compiz\u2026\"<br><br>Beryl is much nicer for now. I dunno if that will stay the same though, because they are constantly battling against each other.<br><br>\"Why do linux companies always have to gravitate toward enterprise or business to survive?\"<br><br><a href=\"http://www.newzbin.com/browse/cat/p/apps/\" rel=\"nofollow\">http://www.newzbin.com/browse/cat/p/apps/</a><br><a href=\"http://thepiratebay.org/browse/302\" rel=\"nofollow\">http://thepiratebay.org/browse/302</a><br><a href=\"http://thepiratebay.org/browse/301\" rel=\"nofollow\">http://thepiratebay.org/browse/301</a><br><br>Do we really want to repeat this mess for Linux?<br>Nero has been doing it right. Make a commercial Linux version and sell it for 4 times less than the other platforms. That keeps people happy.<br>The same thing happened with CDs in stores. They lowered the price and people started buying again.<br>Companies producing commercial software have failed because they tried to transpose their Windows approach or Mac approach onto Linux and it doesn't work too well.<br><br>On the other hand plenty of companies are making a very good living off of Linux and FOSS customization. Where FOSS and Linux is the solution to an web, engineering, retail or manufacturing problem. IBM being the shining beacon of our Industry.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-07-09_22:05:44", "killed": false, "user_key": "e8d0dde0c4b3d65b72a92bba1fee5aa7", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9685266": {"up_voted": false, "ip": "", "has_replies": false, "message": "@robert<br>\"to get users like me to switch you\u2019ve got to offer them something more. A better experience, etc. So far Linux has absolutely failed to do that.\"<br><br>So doing everything I need it to do for several hundred odd bucks cheaper is absolute failure. Man, you are tough to please. But then again, maybe to you several hundred bucks is nothin'.  ;)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-07-09_21:56:59", "killed": false, "user_key": "df60b07a61176c26af4e7201f97c84c1", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9685267": {"up_voted": false, "ip": "", "has_replies": false, "message": "I love it... \"(much nicer 3D switching than even OSX has, for instance). Damn, I thought to myself, it\u2019s time to give Linux another look\"<br><br>... because linux had nothing going for it before compiz...<br><br>damn, man.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-07-09_21:02:28", "killed": false, "user_key": "0b887c77a19c495b68a6772972c23a23", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9685268": {"up_voted": false, "ip": "", "has_replies": false, "message": "JMC: to get users like me to switch you've got to offer them something more. A better experience, etc. So far Linux has absolutely failed to do that. Heck, look at the comments above, many of which are from hard core Linux advocates.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-07-09_21:06:11", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9685269": {"up_voted": false, "ip": "", "has_replies": false, "message": "Cool, but now I am wondering who showed me Ubuntu. Hmmm.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-07-09_04:56:17", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9685270": {"up_voted": false, "ip": "", "has_replies": false, "message": "I don't care either about THE year, but here are the facts: My sister doesn't know how to install Windows. Neither Linux. She uses the laptop for simple tasks like web/mail/gtalk, ocassionally uploading photos to Picasa or using Google Earth.<br>She is able to do it on both platforms, but thanks Ubuntu devs because she just CAN'T break my laptop any more.<br>Oh and Ubuntu it's prettier as Robert points out: <a href=\"http://www.youtube.com/watch?v=abWn4QrlzRI\" rel=\"nofollow\">http://www.youtube.com/watch?v=abWn4QrlzRI</a><br><br>If my sister can use it, it's a true desktop platform.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-07-09_19:31:55", "killed": false, "user_key": "4ff934cc3fd1df86867e12bda075ac28", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9685271": {"up_voted": false, "ip": "", "has_replies": false, "message": "Boy, I may have come off sounding like a bummer.<br><br>How could we make 2008 the year of the linux desktop? Is there something to learn from the failure of Eazel?  Are there any good examples of user focused companies in the linux space?  Why do linux companies always have to gravitate toward enterprise or business to survive?  How can we get the same level of control, attention to detail and technical excellence in both the OS and application space that people seem to admire in Apple and perhaps Microsoft?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-07-09_17:57:40", "killed": false, "user_key": "affa8195b52419bcf7cffb5cf4b82681", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9685272": {"up_voted": false, "ip": "", "has_replies": false, "message": "I installed Xubuntu 2 months ago, and am very happy about capability, stability, and speed.  Its not unusual to run for over a week with no performance hit.  OpenOffce launches literally instantly - zero delay.<br><br>Downside:  lack of support for itunes is about the only gap I have seen.<br><br>PS ... the trigger for me to switch - After 12 years of Windows, I cannot imagine installing Vista.  And I have a core duo fast Thinkpad X60s.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-07-09_17:31:35", "killed": false, "user_key": "caa93e0aae865a4502cd19dcd118fab9", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9685273": {"up_voted": false, "ip": "", "has_replies": false, "message": "Chris,<br><br>Contributing something back would be nice, wouldn't it?  I'll have to keep you posted on that. Nothing to say right now.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-07-09_17:07:47", "killed": false, "user_key": "affa8195b52419bcf7cffb5cf4b82681", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9685274": {"up_voted": false, "ip": "", "has_replies": false, "message": "\"every conceivable extension and trick to squeeze out the same level of performance, ease of use and sophistication that Mac developers get for free with Quartz and CoreAnimation.\"<br><br>By ease of use, I guess you are writing an API.<br>Assuming this is FOSS, can you put a link up of the SVN or CVS so we can take a peek at a snapshot?<br>Did you DOxgenate it?<br><br>Thanks for any info. I would love to try it out if I can.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-07-09_16:56:09", "killed": false, "user_key": "e8d0dde0c4b3d65b72a92bba1fee5aa7", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9685275": {"up_voted": false, "ip": "", "has_replies": false, "message": "Chris,<br><br>Hollywood stuff!  Oh yeah.  PDI/Dreamworks.<br><br>We use both Xlib and OGL.<br><br>Moving to Mono or some other framework isn't in the plan as of now.  I'll take a look at Anjuta just to be informed.<br><br>Thanks!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-07-09_16:54:26", "killed": false, "user_key": "affa8195b52419bcf7cffb5cf4b82681", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9685276": {"up_voted": false, "ip": "", "has_replies": false, "message": "@seshadri<br><br>\"Why? Why hasnt open source with millions of passionate users come up with a better free photo editing software.\"<br><br>For what 98% of people do with their photos, it already has <a href=\"http://www.linuxjournal.com/issue/159\" rel=\"nofollow\">http://www.linuxjournal.com/issue/159</a> - and there is more than one alternative and they're not all free. And while no software is perfect (no, not even Photoshop) there are lots of people improving open-source software all the time. Further again, you'll have to explain to me why I should pay $750.00 CDN for a photo editing application when I can get one that does everything I ever need with my digital photos for absolutely nothing.<br><br>I can pull the RAW files off my camera, process them, edit them, upload them, and print them all within Linux, for nothing. No command line, no fuss.<br><br>Maybe the fact that I didn't pay a cent for all of this makes it a better system - for me.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-07-09_16:41:26", "killed": false, "user_key": "df60b07a61176c26af4e7201f97c84c1", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9685277": {"up_voted": false, "ip": "", "has_replies": false, "message": "People need to realize...Ubuntu and other Linux distros are Operating Systems.<br><br>iLife and iTunes and all that other stuff is software.  Apple integrates it into their operating system because Apple develops that software.<br><br>And to those that say that Linux is hard for the mainstream user obviously haven't tried Linux for a while.  Pretty much any recent Debian based distro (like the Ubuntu flavors, Dreamlinux, etc.) are very easy to use and migrate to.<br><br>My wife, who knows absolutely nothing about computers, XP or Linux, likes using Linux better than XP.  She says it's faster.<br><br>The Linux operating system is also no where near a copy of Windows.  The only things similar on Linux to windows is the Desktop environments.  And even then, they're much more similar to Mac's desktop environment.<br><br>For those of you that haven't used Linux in a while, don't comment on what you don't know or keep up with.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-07-09_16:26:16", "killed": false, "user_key": "204d53f26a4da6d5920108e26c268634", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9685278": {"up_voted": false, "ip": "", "has_replies": false, "message": "Chris,<br><br>\"How is XCode and cocoa that much better than the latest GTK and Xlib?\"<br><br>I have written major applications in both GTK and QT.  You can see my work in many places in GNOME. GTK as a framework may come close to Cocoa in some aspects.  There is nothing close to XCode as an IDE on Linux and Glade can't even be compared to Interface Builder.  I wish it could.<br><br>\"Have you checked out the all the new freedesktop extensions to Xlib for compositing ect\u2026 ?\"<br>Yes.  I am working with all of that right now. I am working on some serious apps for creating feature length animated films and am using every conceivable extension and trick to squeeze out the same level of performance, ease of use and sophistication that Mac developers get for free with Quartz and CoreAnimation.<br><br>\"What do you think about Cairo?\"<br>I love it. Cairo and Pango are great.<br><br>\"If Apple is so superior, then why was Safari based on Konqueror, the ugliest Linux browser and KHTML???\"<br>I can't even begin to answer this, which is more of an editorial posed as a question.<br><br><br>\"I like Apple, I\u2019m just saying.<br>BTW, we don\u2019t have time to develop the Dark Energy toolkit right now that extended advanced compositing to GTKmm++, but I can send it to you if you want to work on it.\"<br>It sounds like you know a lot about using the latest and greatest extensions and tricks with X.  I would love to talk to you more about that.  Thanks!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-07-09_16:25:08", "killed": false, "user_key": "affa8195b52419bcf7cffb5cf4b82681", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9685279": {"up_voted": false, "ip": "", "has_replies": false, "message": "@seshadri<br><br>\u201cCertain applications like Photoshop (and AutoCAD which I use at work) will maybe never get toppled.\u201d<br><br><a href=\"http://www.alias.com/eng/support/maya/qualified_hardware/QUAL/maya_80_linux.html\" rel=\"nofollow\">http://www.alias.com/eng/support/maya/qualified...</a><br><br>Linux is a platform. Not an application. It hosts applications.<br>This isn't Adobe vs. Linux. Adobe can build it's sources on Linux with some UI modifications and they can sell the product on Linux. Just like Nero and Maya.<br>Linux is not closed to Photoshop, Final Cut, Quickbooks and AutoCAD.<br><br>Linux as a platform invites Adobe to come and develop applications for it such as other companies have. Once they do Linux will further grow and mature until it is essentially a free and open version of what you perceive windows being today.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-07-09_16:17:18", "killed": false, "user_key": "e8d0dde0c4b3d65b72a92bba1fee5aa7", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9685280": {"up_voted": false, "ip": "", "has_replies": false, "message": "@disenchantedtech:<br><br>\"I went to a website recently that asked for a new version of Java. Under Windows I would have received a pop up asking if I want to install it yes / no.<br>On Ubuntu it took me to a site with about 2 pages of installation instructions including a few manual tweaks on various files.<br>Maybe next year\"<br><br>Ubuntu comes with a GNU Classpath version of Java.  You want Sun Java (sun-java6-bin and sun-java6-plugin), which is in the universe repository which you manually enable in System-&gt;Administration-&gt;Software Sources.  THis is MUCH better than Windows packaging and updating, trust me, b/c security vulns only need to be updated once because of how apps depend on only one lib instead of each shipping their own, and because apt manages updating _every program_ by itself so you'll always have the most secure version.<br><br>BTW, Java is soon to be fully GPL'd so hopefully Java 7 from Sun will be included directly in Ubuntu Gusty +1.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-07-09_16:34:30", "killed": false, "user_key": "28e7062cf519f8fc872685320c01d6c2", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9685281": {"up_voted": false, "ip": "", "has_replies": false, "message": "\"Certain applications like Photoshop (and AutoCAD which I use at work) will maybe never get toppled.\"<br><br>Why? Why hasn't open source with millions of passionate users come up with a better free photo editing software. you can't have separate rules for OS and applications.<br><br>I always thought it would be easier for open source and Linux to gain ground by having a excellent set of open source application and not the other way round. But even after so many 'Years of Linux &amp; opensource' there is not a single mainstream open source application on top of its category.<br><br>It's tough to believe that all of a sudden things will change in 2008", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-07-09_16:06:37", "killed": false, "user_key": "aaa1c400b7e02bea94b84ce889e72dbd", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9685282": {"up_voted": false, "ip": "", "has_replies": false, "message": "\"Simply put. What does the $400 CDN that I give to MS for Vista Ultimate give me that Ubuntu Linux cannot?\"<br><br>Richard, it's actually $500 + 15% sales tax at most places.<br><a href=\"http://www.flickr.com/photo_zoom.gne?id=763420072&amp;size=o\" rel=\"nofollow\">http://www.flickr.com/photo_zoom.gne?id=7634200...</a><br>I'd give you a link, but office depot requires a valid zip code. Americans can use G1P 4M3 to view it.<br><br>So that's $575 CAD for Vista on 1 single computer, because of the Activation checks.<br>With the US/Canada exchange rate being about 4.9%<br><a href=\"http://finance.yahoo.com/currency/convert?amt=1&amp;from=USD&amp;to=CAD&amp;submit=Convert\" rel=\"nofollow\">http://finance.yahoo.com/currency/convert?amt=1...</a><br><br>It will cost Canadians $547 USD for EVERY single computer they own. When ultimately it would have cost them nothing to do the same Email and Web with Mozilla programs on Ubuntu.<br>This isn't fiction, it's fact.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-07-09_15:23:41", "killed": false, "user_key": "e8d0dde0c4b3d65b72a92bba1fee5aa7", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9685283": {"up_voted": false, "ip": "", "has_replies": false, "message": "Gene...Thanks for the insight!!!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-07-09_15:03:24", "killed": false, "user_key": "3a088b735d051bca68c1f02e292b207e", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9685284": {"up_voted": false, "ip": "", "has_replies": false, "message": "\"And when I look at the internals of these libraries, they are light years behind where Apple is.\"<br><br>How is XCode and cocoa that much better than the latest GTK and Xlib?<br><br>Have you checked out the all the new freedesktop extensions to Xlib for compositing ect... ?<br>We were developing a toolkit for GTK based on XGL and AIGLX, and you can do some pretty neat stuff with that.<br>What do you think about Cairo?<br><br>If Apple is so superior, then why was Safari based on Konqueror, the ugliest Linux browser and KHTML???<br><br>I like Apple, I'm just saying.<br>BTW, we don't have time to develop the Dark Energy toolkit right now that extended advanced compositing to GTKmm++, but I can send it to you if you want to work on it.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-07-09_15:00:11", "killed": false, "user_key": "e8d0dde0c4b3d65b72a92bba1fee5aa7", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9685285": {"up_voted": false, "ip": "", "has_replies": false, "message": "@seshadri<br><br>Certain applications like Photoshop (and AutoCAD which I use at work) will maybe never get toppled. But speaking from experience, the mainstream users are not using Photoshop and AutoCAD. We're talking about being able to browse the web, make a newsletter, organize your photos. In that respect (well almost) there are already perfectly competitive open source products.<br><br>My point is that passionate people can be remarkably persistent and do amazing things (not just in the OS realm). The point is that a distro like Ubuntu offers as much value as XP or Mac for absolutely nothing. Whether or not everybody knows that is another thing. But you can't keep a good man down forever! :) No matter how hard Ballmer tries. ;)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-07-09_14:56:53", "killed": false, "user_key": "df60b07a61176c26af4e7201f97c84c1", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9685286": {"up_voted": false, "ip": "", "has_replies": false, "message": "@gene,<br><br>Simply put. What does the $400 CDN that I give to MS for Vista Ultimate give me that Ubuntu Linux cannot?<br><br>It's simply not rational for me to run Windows at home anymore (believe me, I did for *years*).", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-07-09_15:01:13", "killed": false, "user_key": "df60b07a61176c26af4e7201f97c84c1", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9685287": {"up_voted": false, "ip": "", "has_replies": false, "message": "\"You\u2019ve got a bunch of paid employees vs. millions of passionate people. You just know who\u2019s gonna win don\u2019t you\"<br><br>You mean like how Adobe Photoshop lost out to some open source alternative?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-07-09_14:33:17", "killed": false, "user_key": "aaa1c400b7e02bea94b84ce889e72dbd", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9685288": {"up_voted": false, "ip": "", "has_replies": false, "message": "When I was at Eazel in the 2000, I thought 2001 was going to be the year of Linux on the desktop.  There was a great group of developers not just at Eazel, but at several companies making great strides.<br><br>Leaving Be for Eazel was like trading in a set of precision tools for stone knives and bear skins, but it seemed like there was a chance to make something great happen.  It didn't quite work out that way.<br><br>Many of us went to Apple and the key contributors to almost every one of Apple's major new technologies came over from Eazel or Be.  Safari/WebKit, CoreAnimation/CoreGraphics, Spotlight, the list goes on.  A huge amount of talent left the Linux world and moved into the closed or only partially open source world.<br><br>Now that I am back at a company using open source tools and contributing again, I am dismayed, but not surprised, at how little has changed.  Sure, a distro like Ubuntu is great, but I am not seeing great strides taken with either GNOME or KDE.  And when I look at the internals of these libraries, they are light years behind where Apple is.  I have no clue how Richar d thinks a bunch of hacks beat Microsoft or Apple to the punch.  Linux isn't even in the ring.  Unless there is some sort of major impetus to drive participation, coordination and innovation, Linux will continue to be a fringe competitor.  There isn't millions of Linux hackers out there.  The main contributors to the vital components can almost be coutned on two hands.  That isn't good.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-07-09_14:34:57", "killed": false, "user_key": "affa8195b52419bcf7cffb5cf4b82681", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9685289": {"up_voted": false, "ip": "", "has_replies": false, "message": "\"The average consumer does not use Photoshop, most don\u2019t even use Elements, they use iPhoto (free) or something similar. So, no savings.\"<br><br>If they only use Thunderbird and Firefox to view the web and check email, then what is the point of buying Windows or Mac?<br><br>It's exactly the same across all 3 platforms. Why would you pay when you can use it on Ubuntu for free?<br><br><a href=\"http://linux.slashdot.org/article.pl?sid=07/07/04/019215&amp;from=rss\" rel=\"nofollow\">http://linux.slashdot.org/article.pl?sid=07/07/...</a><br><br>You can say all you want like Windows systems are subsidized ect... with OEM versions, but the truth is Linux systems are cheaper out of box. $50 cheaper to be exact.<br><br>There's no shovelware, and you can use Thunderbird and Firefox just the same.<br><br>Our company has a brand new 24\" core duo 2.16 iMac. I think it's great. But we could also afford it as a non-essential piece of equipment. Most people can't. Plus upgrades are free.<br>The reason most buy the Macs is because of the support with graphic major design software and quark. If you take that away you don't have much left as Beryl is far superior to OSX as far as flashyness is concerned.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-07-09_14:34:50", "killed": false, "user_key": "e8d0dde0c4b3d65b72a92bba1fee5aa7", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9685290": {"up_voted": false, "ip": "", "has_replies": false, "message": "I have been using Ubuntu since March of this year, I am by no means a \"geek\" yet though I am working my way up to it. I will tell you that I am far more comfortable using this than I ever was with windows. I had vista and it ate my hard drive up like it was candy, and ran poorly.<br>With Feisty, I get all the eye candy I could ever want with far more control than with Vista, and I can use wine when i need to go windows for some reason, but that is hardly ever.<br>I have every single program I need, I run some blogs, and do some heavy research on the net... and it has been smooth sailing for me. I do my own programming when I need a new application, if I need help there is the Ubuntu forums, its perfect for a new user.<br>As far as I am concerned.. Windoze can keep Vista, I have what I need right here and I did not have to pay 800.00 for it either.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-07-09_15:48:46", "killed": false, "user_key": "efa5b767ad276870368af0abf0f2e6b4", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9685291": {"up_voted": false, "ip": "", "has_replies": false, "message": "\"A lot of people also like to do webdesign on localhost which most Linux autoconfigures to /var/www/html. A similar setup on windows will either cost them for a win server license and an extra machine or will be complex to set up with FOSS.\"<br><br>You do realize that a lot of windows versions have a built in webserver or you can get wamp or xamp? these are all \"Free\" alternatives that a lot of web developers should know about.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-07-09_14:11:20", "killed": false, "user_key": "d5c7efa3f66d6fc8ef6750fa07558c8a", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9685292": {"up_voted": false, "ip": "", "has_replies": false, "message": "Alejandro...<br>-----<br>\"do this for every app, and add in ease of installation, and you get a great edge over proprietary software\"<br>But, they don't need anything else, at least on a Mac. Most consumers won't even use (or require) all that's included so no expenditures.<br>----------<br>Chris...<br>-----<br>\"That\u2019s only if they steal the other software, like Photoshop, Premier, Final cut or whatever. If they don\u2019t then the savings is more like a few thousand dollars.\"<br>The average consumer does not use Photoshop, most don't even use Elements, they use iPhoto (free) or something similar. So, no savings.<br>-----<br>\"A lot of people also like to do webdesign on localhost\"<br>Uhhh, show me a average user (80% of the market) that wants to do this even though you can on OSX by clicking a checkbox.<br>----------<br>The year of the Linux desktop implies wider spread adoption (not just geeks) and most will not gain anything, in fact they will lose because of less polished apps and the lack of integration between/among apps and hardware.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-07-09_14:03:16", "killed": false, "user_key": "3a088b735d051bca68c1f02e292b207e", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9685293": {"up_voted": false, "ip": "", "has_replies": false, "message": "@Chris Wild<br><br>\"Chris, I use that product day in day out, and I wouldn\u2019t inflict it on my worst enemy!\"<br><br>I in fact do not use Eclipse, because it's slow, and the UI is bad. BUT, I am referring to the <a href=\"http://Digg.com\" rel=\"nofollow\">Digg.com</a> article where many Linux developers discussed the issue.<br><br><a href=\"http://cnd.netbeans.org\" rel=\"nofollow\">http://cnd.netbeans.org</a><br>This is in fact the Visual C++ debugger, dev environment on Linux that I like to use. It doesn't automake conf and makefiles as much as Anjuta, but it has a very good look and feel. I also use it for Java. If you need more hand holding you probably shouldn't be developing C/C++ code anyway.<br><br>The one thing that Visual Studio shines at is automating the make process, because aside from that there really isn't any difference what so ever between Windows and Linux for C++.<br>With ant and CND and Anjuta though, much of the configuration and automake is generated well enough that it's easy to use.<br>Java development is flawless, and VB with Real Basic or Monodevelop is stupid easy.<br><br>So many developers are jumping ship now from Windows to Linux I suppose it won't be long before people are using Linux for the simple fact that their favorite applications only run on Linux and not Windows or Mac.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-07-09_11:48:54", "killed": false, "user_key": "e8d0dde0c4b3d65b72a92bba1fee5aa7", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9685294": {"up_voted": false, "ip": "", "has_replies": false, "message": "Linux fans need to stop worrying about Microsoft and just concentrate on improving Linux.  It's already free and it's already widely available. There is little else to do along those fronts.<br><br>First, they need to keep working on device compatibililty, especially pushing out drivers for new hardware.  That will require a bit of magic as long as the vendors keep their code to themselves.<br><br>Second, conjure up a risk-free install so Windows users can try it and go back to Windows without losing a beat. Sure, you can run it off CD/DVD, but that just gives the impression that Linux is ungodly slow. Magic probably needed here, too.<br><br>Third, the hardcore set should stop trying to persuade people to use Linux by converting them to the Church of Stallman.  Ain't working.<br><br>Fourth, consider Apple:  Wed Linux to a specific hardware platform and make it so enticing that people want to buy it.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-07-09_11:17:32", "killed": false, "user_key": "9cdd07b11421a4c6ca1b79322932064a", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9685295": {"up_voted": false, "ip": "", "has_replies": false, "message": "I have been playing around with Ubuntu on an older machine at home for the past few weeks, and think it is great!  I agree that Dell has broken through the Windows lock on PC OS's by offering Ubuntu machines, and I also agree that this (and other vendors joining in) might finally get hardware vendors to write Linux drivers for their devices.  This is the biggest problem facing Linux's general acceptance and the biggest problem I have had with it: you just have to do too much under the hood to get it to work with some devices (notably wireless NICs).  Linux is closer than it has ever been to being accepted.  It just needs the hardware community behind it.<br><br>You might want to check out some Ubuntu blogs that are good: <a href=\"http://allaboutubuntu.wordpress.com\" rel=\"nofollow\">allaboutubuntu.wordpress.com</a>, <a href=\"http://ubuntu.wordpress.com\" rel=\"nofollow\">ubuntu.wordpress.com</a>, <a href=\"http://anotherubuntublog.wordpress.com\" rel=\"nofollow\">anotherubuntublog.wordpress.com</a>, and <a href=\"http://sheehantu.wordpress.com\" rel=\"nofollow\">sheehantu.wordpress.com</a>.  I find them very informative and written by knowledgeable people.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-07-09_11:04:24", "killed": false, "user_key": "4923686384eb6f74738a55dc0ce2204c", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9685296": {"up_voted": false, "ip": "", "has_replies": false, "message": "There won't be a \"year of Linux on the desktop\", even though Linux will probably climb to 10 or 20% of user share in the next decade. Which was the \"year of the PC on the desktop\"? I had my first PC in 1989 when I was four, but most people I know didn't get into computers until 93-95, and many didn't have net access until 1998. In the same way, I think Ubuntu Dapper started the age of user-friendly Linux, but most people will remember Feisty better (the first 08 release could be interesting too... having Long Term Support and modern features Dapper lacked, it could be a nice OS for OEMs). For me, the year of Linux on the Desktop was last year, but most people probably never noticed ;).<br><br>Myself, I'm happily enjoying my new laptop with Ubuntu as its only OS :) Though I might make a separate partition to try stuff like PCLinuxOS or Fedora 7.<br><br>PXLated: Linux has a big cost advantage. Not just on the OS, you also have thousands of easy to install open source apps. Depending on your level of geekdom, you can choose them from a menu or type a command, and get whatever you need installed. Of course, they're often not as good as commercial competition, but most people don't need pro features (example: no pro would choose GIMP over Photoshop, but it can compete against Photoshop Elements which has most of the features \"Joe USer\" needs. That's a $100 saving... do this for every app, and add in ease of installation, and you get a great edge over proprietary software).<br><br>Maurice: if you want Vista, you're better off buying it preinstalled. Most people can't install an OS, much less Windows. Today Ubuntu is FAR more user friendly to install... I install Ubuntu and XP or 2k every week in different computers, and the Ubuntu install is faster, easier and more complete (it comes with a real browser and OpenOffice, for example, and you don't need extra security software). Plus, I can read my feeds or play Tetris while I install. Meanwhile, partitioning a HD with the XP installer is a lot like using cfdisk in a horrible TUI...", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-07-09_11:04:41", "killed": false, "user_key": "a6d980c7587d9ebbd1c3820e0f0092e7", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9685297": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert<br>It may be getting easier to use and prettier to look at, but it still sucks at overall support for basic PC hardware. I was keen to switch to Ubuntu permanently on my less than 12 month old Laptop: the wireless card isn't supported, my now ex-PC: video card issues. Worse thing: you still have to revert to the command line for anything other than the basics. This won't be the year of the Linux desktop, and neither will next year.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-07-09_11:00:12", "killed": false, "user_key": "f29c1c44f0c43207f87cd00ae8768bf9", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9685298": {"up_voted": false, "ip": "", "has_replies": false, "message": "Question...<br>I don't follow the whole Linux thing real closely as I'm happy with OSX and just want to get things done. My impression though is there really isn't any \"innovation\" in the Linux arena, it's mostly just all copy cat of existing stuff and a few years behind at that...on the desktop. Is there anything that is innovative that would appeal to anyone other than a geek?<br>For instance, on Mac you have all the iLife apps/integration, iTunes/iPod integration and now iPhone. iSight cameras with iChat. Things seem to be moving faster in the consumer space than Linux can keep up with.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-07-09_10:25:03", "killed": false, "user_key": "3a088b735d051bca68c1f02e292b207e", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9685299": {"up_voted": false, "ip": "", "has_replies": false, "message": "Maurice,<br><br>Have you taken a look at Ubuntu Studio?<br> <a href=\"http://ubuntustudio.org/\" rel=\"nofollow\">http://ubuntustudio.org/</a><br><br>It's a media-editor adapted ubuntu. It might just fit your needs.<br><br>As for the whole year of linux on the desktop meme, I don't think there will ever be a year of linux on the desktop. Linux seems to increasingly gain traction, and seems to be evolving into a very user friendly desktop. However, since there won't be a memorable marketing push nor huge differences between releases, the increasing use of linux on the desktop is bound to happen very gradually. It is already a solution for many people, it will surely become compelling to many more in the next few years. However, it won't be possible to look back and say that 2007 or 2008 or any other year were *The* Year.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-07-09_09:52:41", "killed": false, "user_key": "2a546263bc93b9f1a50c81278f431b58", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9685300": {"up_voted": false, "ip": "", "has_replies": false, "message": "I'm in the never camp. It's possibly ok for a geek but it's got too far to go for the mainstream user. And, what does the average user gain other than $1-200 buck savings. That just isn't worth the hassel of drivers, installs and no \"official\" support or hand holding. And, no, the average user is not going to hang out in the geeky forums when they need help.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-07-09_10:16:00", "killed": false, "user_key": "3a088b735d051bca68c1f02e292b207e", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9685301": {"up_voted": false, "ip": "", "has_replies": false, "message": "#19 - \"IBM\u2019s eclipse is fast becoming the Visual Studio defacto standard on the platform...\"<br><br>Chris, I use that product day in day out, and I wouldn't inflict it on my worst enemy!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-07-09_10:18:38", "killed": false, "user_key": "519796ea0ec0ec0d33c802c233d868fc", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9685302": {"up_voted": false, "ip": "", "has_replies": false, "message": "You have to admit the irony of asking whether this will be the year of Linux on the desktop. Do a quick search (<a href=\"http://www.google.com/search?hl=en&amp;q=Year+of+Linux+Desktop\" rel=\"nofollow\">http://www.google.com/search?hl=en&amp;q=Year+o...</a>) and in the first three pages of results there are three different \"Year of Desktop Linux\" results: 2006, 2007 and 2008 (nice to plan ahead...).  What's the old yarn about the definition of insanity? Although not a perfect analogy...preducting the same thing year after year and expecting a different result?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-07-09_12:48:51", "killed": false, "user_key": "fd620d30ce856c99eeac7d190bbd4111", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9685303": {"up_voted": false, "ip": "", "has_replies": false, "message": "\"Anyway, it\u2019s time to get an interview with Mark Shuttleworth. Anyone know him and want to introduce us?\"<br><br><a href=\"http://www.markshuttleworth.com/contact-details\" rel=\"nofollow\">http://www.markshuttleworth.com/contact-details</a><br><br>Ubuntu is also part of the FSF, so you can join that organization for $125 annually and put a post up on the mailing list for the Ubuntu people. They will most likely get Mark to get back to you.<br><br>If you are doing press, you probably won't need an introduction.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-07-09_08:36:02", "killed": false, "user_key": "e8d0dde0c4b3d65b72a92bba1fee5aa7", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9685304": {"up_voted": false, "ip": "", "has_replies": false, "message": "I know there are lots of Adobe people looking through.<br><br><a href=\"http://www.codeweavers.com/about/general/press/20031027/\" rel=\"nofollow\">http://www.codeweavers.com/about/general/press/...</a><br><br>\"Macromedia is committed to supporting our customers in the technologies they choose,\" said Susan Morrow, vice president of product management, Macromedia. \"We are excited to see how Linux developers will use CrossOver Office 2.1 with its support for Macromedia Dreamweaver MX and Flash MX.\"<br><br>Why did Adobe drop Linux certification for WINE on Linux as soon as macromedia was purchased by Adobe?<br><br><a href=\"http://www.eweek.com/article2/0%2C1895%2C2155787%2C00.asp\" rel=\"nofollow\">http://www.eweek.com/article2/0,1895,2155787,00...</a><br>Dell's Linux Desktop Line Keeps Expanding<br><br>Linux is mushrooming right now as Dell plans to expand it's new Linux machines across the whole world.<br>So why did they discontinue Linux support of Flash MX Studio and Photoshop on WINE with codeweavers?<br><br>Have they considered doing a native build of the products for Linux with GTK UI at a reduced price in the same way Nero and other companies that do Linux product ports do?<br><br>I know they are reading through, so I decided to take a chance. Perhaps JD can answer this one.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-07-09_12:41:00", "killed": false, "user_key": "e8d0dde0c4b3d65b72a92bba1fee5aa7", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9685305": {"up_voted": false, "ip": "", "has_replies": false, "message": "The first sentence should read \"migrating from Vista.\"<br><br>They will also migrate to Mac, though Mac is less compelling than Linux for a lot of people.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-07-09_07:39:33", "killed": false, "user_key": "e8d0dde0c4b3d65b72a92bba1fee5aa7", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9685306": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert,<br><br>I'm a sole Ubuntu user, (though sometimes use Windows in VMWare). I just wish they would stop claiming every year that the next year is the year of the linux desktop....<br><br>It just isn't important, is it a viable alternative to Windows/Mac? It might be depending on your specific needs.<br><br>But people who change will have to get accustomed to the differences, and be content with the programs which reside in the repositories if they want to have a pain free experience.<br><br>Though hardware support is greatly improved, there are still a lot of vendors who won't support Linux, so buying stuff needs to be done with care..", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-07-09_07:36:59", "killed": false, "user_key": "d1b44a8368e7418bc4347a587f7f83b9", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9685307": {"up_voted": false, "ip": "", "has_replies": false, "message": "Hmm<br><br>Not sure that Linux will ever be ready for the desk top - if I want desk top unix's  there\u2019s Apple<br><br>and pardon my cynicism how many of the Ubunto Dells will have hooky  copies of windows installed on them asap.<br><br>My laptop was designed as a small recording rig (Cubase live and a real Soundcard) as well as a back up machine doubt ill see the day when I can use Ubunto as easily a I can xp for that<br><br>Class compliant USB and AISO drivers for proper soundcards.<br><br>Interesting that Mat C\u2019s comments when he tried it went along the lines of<br><br>\u201cdidn\u2019t handle large monitors and didn\u2019t configure the network properly out of the box\u201d", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-07-09_07:31:50", "killed": false, "user_key": "15626198d552b84b0d0d787f8ec124a7", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9685308": {"up_voted": false, "ip": "", "has_replies": false, "message": "The media has been proclaiming the year of linux on the desktop for at 7 years or more.<br><br>It isn't ever going to happen.  And frankly, I don't want need it to.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-07-09_07:18:58", "killed": false, "user_key": "23e6c3b998a8bcd1d5d317f7ab53963b", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9685309": {"up_voted": false, "ip": "", "has_replies": false, "message": "System configuration issues for end users is still the single largest problem with Linux, at least in my book. I'm a developer geek and even I get immensely frustrated on a regular basis.<br><br>That, and stupid little usability quirks annoy the hell out of me...", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-07-09_07:04:34", "killed": false, "user_key": "c7ac7d8e76d0ecf900384b68e196f645", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9685310": {"up_voted": false, "ip": "", "has_replies": false, "message": "I dual boot Ubuntu Studio and XP (and use OS X for web hosting and video editing) and have to say: for an audio professional, Ubuntu just isn't there yet. Not stable, takes way too much configuration, and lacking the apps I need (SADiE equivalent). Two other things keep me on XP: X1 and .pst files.<br><br>kj", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-07-09_06:28:56", "killed": false, "user_key": "29565632ac87bd71a62480564024c6ff", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9685311": {"up_voted": false, "ip": "", "has_replies": false, "message": "For me its been 'linux year of the desktop' (and laptop) for a couple of years already - I run centos (redhat enterprise) and it's great.. looks good, has all the apps I ever need, very customizable, steady as a rock (runs for months without a reboot or crash) and was quite easy to install and configure. Being free is nice too. I can also run some windows apps on linux using WINE if I need to (which I only ever did for 'fun'). Of course YMMV but I have never looked back since ditching windows.<br><br>Having said that, linux is still a long way behind in terms of games so it wont appeal to everyone but for a work desktop (or for anyone who doesn't care much about pc games) its great.<br><br>You could also dual-boot (or virtualize) for the best of both worlds.. ;)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-07-09_05:57:04", "killed": false, "user_key": "bcdfaa3ebdd6783fd80a3130c4a4e06d", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9685312": {"up_voted": false, "ip": "", "has_replies": false, "message": "We put Fedora Core 6 on the desktops of all PCs except admin, finance and the boss (who is too pig-headed to give anything new a go). Admin and finance get to keep Windows due to some apps they have to run.<br><br>Sales only uses the email client, OpenOffice (we made that transition a year ago), and a web browser.<br><br>Our IT guy only has one complaint - he is now bored, and we are probably going to move him to work in a partner IT organisation, as he now has fewer user problems.<br><br>I have one Windows system in sales, and that is the only system giving us problems.<br><br>Moving to Firefox reduced shareware and virus infestations immediately, then we moved our email to Google Apps, left them accessing it through the browser and switched the desktops to Fedora. It's an IT dream.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-07-09_05:41:58", "killed": false, "user_key": "9bb0bd0c73ed8e7e2d264c828be10cad", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9685313": {"up_voted": false, "ip": "", "has_replies": false, "message": "Joe: now I'm really confused. I thought it was your computer I was seeing running Ubuntu. I haven't gotten enough sleep this weekend. Sorry about that. Are you this Joe Hewitt: <a href=\"http://www.joehewitt.com/\" rel=\"nofollow\">http://www.joehewitt.com/</a> ?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-07-09_04:37:17", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9685314": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert,<br><br>I am just back from Lugradio Live 2007 and if the commitment from people like Google, Sun, Dell , Canonical, Redhat and Novell is anything to go by this is not idle speculation.<br><br>I have given a brief overview of the things I saw and spoke about and Ill go into some details later this week. The thing to watch for; Dell and Ubuntu Im prettuy sure weve not heard the last of the interesting news on that front<br><br><a href=\"http://www.loudmouthman.com/2007/07/09/lugradio-2007-loud-and-unwashed/\" rel=\"nofollow\">http://www.loudmouthman.com/2007/07/09/lugradio...</a>", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-07-09_04:31:52", "killed": false, "user_key": "9bd751707b3a2a5fdf6a8d8bb6c5f669", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9685315": {"up_voted": false, "ip": "", "has_replies": false, "message": "Yep, that's me.  Thanks for the correction.  Great meeting you again this weekend!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-07-09_04:51:50", "killed": false, "user_key": "15cf42a96576559fee2a0f904427b8a0", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9685316": {"up_voted": false, "ip": "", "has_replies": false, "message": "Oh Noes! I am mostly inclined to agree with you, but it sure is looking good lately. I'm wondering if it'll break through and get some new app/feature etc that'll let it find a niche that no one sees yet?<br><br>Ubuntista: thanks, appreciate that very much!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-07-09_03:55:41", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9685317": {"up_voted": false, "ip": "", "has_replies": false, "message": "The year of the Linux desktop will be the same as the year of the Microsoft Bob. Ie, NEVER.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-07-09_03:52:24", "killed": false, "user_key": "3f9383da1a07d250acdb9973c899cb98", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9685318": {"up_voted": false, "ip": "", "has_replies": false, "message": "I've been using ubuntu since the first version (warty warthog) and it got better and better. Installing it has become very easy and most hardware works out of the box.<br><br>If you only use internet, e-mail, write some documents and do other basic tasks with your computer, then ubuntu is already a good option. Ubuntu comes with a lot of good software to do those things. And if you need another program you can use \"add programs\", or the synaptic package manager to add software.<br><br>If you have to use windows only programs like CAD, or  you want to play games then ubuntu isn't a good option. You can get some programs to work with wine, but i haven't got any luck with those type of programs.<br><br>I have had some problems with ubuntu. My wacom tablet didn't work out of the box and i had to edit some config file to get it to work. Setting up samba (to share files with windows computers) took some editing in config files too. The solution to those problems were not that difficult to find, but you have to use bash and edit textfiles to get it to work, instead of the wizards you have to use in windows.<br><br>I like the way Ubuntu works, but it will need another version or two before it can be used as a desktop OS. A lot of things have become easier to do, but other things still need some improvements.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-07-09_04:36:36", "killed": false, "user_key": "ce1b8599c98feabb26fc90fd9ad5df87", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9685319": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert, you may be confusing me with someone else.  If you saw my computer, it was running Mac OS X.  I haven't ever owned a computer that runs Linux in my life.  Nothing against Linux, I'm just a Mac-head. 2008 will probably be the year of Leopard if you ask me ;)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-07-09_04:32:08", "killed": false, "user_key": "15cf42a96576559fee2a0f904427b8a0", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9685320": {"up_voted": false, "ip": "", "has_replies": false, "message": "The good thing about Dell offering Ubuntu is that it will force hardware vendors to get their act together and offer drivers for linux.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-07-09_04:30:01", "killed": false, "user_key": "5a0f3d36a591e41b7dadd07c5f182a51", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9685321": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert,<br>I'll write him ASAP and let you know.<br><br>Best,<br><br>Simone", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-07-09_03:41:51", "killed": false, "user_key": "3fb505037d77a55dc96ef88dee7897ce", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9685322": {"up_voted": false, "ip": "", "has_replies": false, "message": "I run Ubuntu on my laptop, when it's working OK it's great but if you need to change something then it's not always smooth sailing.<br><br>I went to a website recently that asked for a new version of Java. Under Windows I would have received a pop up asking if I want to install it yes / no.<br>On Ubuntu it took me to a site with about 2 pages of installation instructions including a few manual tweaks on various files.<br>Maybe next year", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-07-09_04:06:56", "killed": false, "user_key": "8a74eb39ee732df0661ae4a5c8244172", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9685323": {"up_voted": false, "ip": "", "has_replies": false, "message": "I have been in IT for more than 30 years.  I have been waiting for a Linux distro that is ready for the \"masses\" for a few years.  I have been running Suse 10 on a work notebook for more than a year and it was \"close, but no cigar\".  I loaded Ubuntu FF on a system a couple of month ago and was immediately impressed.  I ordered a Dell notebook the first day the started selling, but bailed after they kept pushing back delivery and ordered a notebook from System 76.  So far, so good except for the wimpy built in speakers.  I would migrate a non-geek from XP to Ubuntu before I would subject them to Vista.  It's not perfect, but it is good enough and getting better instead of worse.  I live in a rural area where a lot of folks are still running '95, '98 and [shutter] ME.  When they ask for advice when their systems finally die I will be recommending systems with Ubuntu pre-loaded.<br><br>    Will Linux ever be a Microsoft killer?  Probably not.  But it will become a significant player for home users and small businesses on the desktop.  I suspect that education is another market that is ripe for a cheaper alternative than MS.<br><br>    BTW to the Mac users who would never use a Linux system, don't look under the hood.  You might be surprised at what's there.  It seems that the Mac OS is really just a GUI these days.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-07-12_21:21:19", "killed": false, "user_key": "41fb1a8cb9014f4e4d7656ac2df67e00", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9685324": {"up_voted": false, "ip": "", "has_replies": false, "message": "Linux is becoming very popular these days. A friend of mine has Linux on his laptop, as well as Windows XP. I don't think Linux will overcome Windows anytime soon, but who knows how things will go with Ubuntu.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-12-08_19:17:06", "killed": false, "user_key": "cd1a82546822e02b308015d196efdfd4", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9685325": {"up_voted": false, "ip": "", "has_replies": false, "message": "I used to be a very happy vista user, but then I got curious and tried openSUSE 10.3, and I was hooked. but now I've switched to Sabayon Linux 3.4f.... which in my opinion is a potential vista killer.<br><br>check it out:<br><br><a href=\"http://www.sabayonlinux.org\" rel=\"nofollow\">www.sabayonlinux.org</a><br><br>WARNING: SABAYON IS BASED OFF OF GENTOO LINUX AND I REALLY DON'T RECOMMEND IT FOR A FIRST DISTRO. YOU HAVE BEEN WARNED.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-03-14_17:18:49", "killed": false, "user_key": "b2628b4bcee472498e990db2ce2f19fb", "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}, "9685326": {"up_voted": false, "ip": "", "has_replies": false, "message": "I prefer Ubuntu.<br>I dunno why the people still use Windows ;S", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-05-20_11:34:39", "killed": false, "user_key": "b481a42f191c510bc283c03d60e145f5", "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}, "9685327": {"up_voted": false, "ip": "", "has_replies": false, "message": "With the new genuine advantage and Vista activation schemes, there will definitely be more people migrating to Vista.<br><br>I happen to have an MSDN professional subscription, but most people can't sink 2000 bucks into that. Even there the big fat MS cd case sits in a drawer collecting dust.<br><br>Developers are migrating to Linux at an alarming pace because of this<br><a href=\"http://www.pcworld.com/article/id%2C134115-c%2Cresearchreports/article.html\" rel=\"nofollow\">http://www.pcworld.com/article/id,134115-c,rese...</a><br>and IBM's eclipse is fast becoming the Visual Studio defacto standard on the platform:<br><a href=\"http://digg.com/linux_unix/Linux_developers_considering_move_to_Eclipse\" rel=\"nofollow\">http://digg.com/linux_unix/Linux_developers_con...</a><br><br>With the subscription I have, I can pretty much use ANY Microsoft software to develop applications. The fact that the CD Case full of the DVDs has been sitting in a drawer for almost a year now with no use in site really speaks volumes on the need for Windows today over Linux.<br><br>The Developers are moving towards the platform, because Linux is getting extremely easy to build applications for.<br>Stuff like Real Basic for Linux:<br><a href=\"http://www.realbasic.com/products/realbasic/screenshots/linux/\" rel=\"nofollow\">http://www.realbasic.com/products/realbasic/scr...</a><br>Monodevelop, and other tools did not exist before.<br>C++ used to be hard to code on Linux, but now with the new Anjuta 3 it is very easy. Netbeans, and Eclipse also make C++ and Java very easy to code on the platform, and Kdevelop is now very stable too.<br><br>When the developers come to a platform and populate it with compelling applications as is the case, then the people will follow. Because their favorite apps will be ONLY for Linux.<br>MS should be worried. I was one of the very first Windows developers to leave the platform for Linux and announce it publicly. It seems that since that time when I cut up my Visual Studio 2000 discs that many have followed.<br><br><a href=\"http://www.youtube.com/watch?v=_ImW0-MgR8I\" rel=\"nofollow\">http://www.youtube.com/watch?v=_ImW0-MgR8I</a><br><br>Stuff like this and Beryl helps too. Nobody wants yesterday's OS in Vista. The cool stuff was an afterthought on that OS, and they are quickly loosing the developers to fill the gaps that they left.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-07-09_07:38:22", "killed": false, "user_key": "e8d0dde0c4b3d65b72a92bba1fee5aa7", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9685328": {"up_voted": false, "ip": "", "has_replies": false, "message": "\"And, what does the average user gain other than $1-200 buck savings.\"<br><br>That's only if they steal the other software, like Photoshop, Premier, Final cut or whatever. If they don't then the savings is more like a few thousand dollars.<br><br>A lot of people also like to do webdesign on localhost which most Linux autoconfigures to /var/www/html. A similar setup on windows will either cost them for a win server license and an extra machine or will be complex to set up with FOSS.<br><br>Let's consider cost as well for proprietary software:<br><a href=\"http://www.nero.com//eng/Nero_7_Premium_InfoPage.html\" rel=\"nofollow\">http://www.nero.com//eng/Nero_7_Premium_InfoPag...</a><br>Nero for Windows = $79<br><a href=\"http://www.nero.com/eng/NeroLINUX.html\" rel=\"nofollow\">http://www.nero.com/eng/NeroLINUX.html</a><br>Nero for Linux = $25<br><br>Often times companies will offer polished commercial software for Linux at a reduced cost which saves people even more money while retaining commercially professional software.<br>Nero 3 Linux for example retains most of the polished look and functionality of it's windows cousin.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-07-09_12:07:24", "killed": false, "user_key": "e8d0dde0c4b3d65b72a92bba1fee5aa7", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9685329": {"up_voted": false, "ip": "", "has_replies": false, "message": "No it is not the year of the Linux desktop. Nor is it the year of the Mac desktop. MS has 80 odd percent marketshare no? But still Dell offers Linux. Still people by Macs. MS should be worried that it's *not* the Year of Vista either. Slowly but surely, that 80 percent is dropping.<br><br>Anyway the key thing IMO is the potential of the open-source community (a large part of which runs linux). For instance, how can a company with 50k employees and millions of dollars at their disposal spend several years preparing a $400.00 OS full of eye-candy only to be beaten to the punch (and then soundly trounced) by a bunch of hacks in their basements who do it all for free? Well they did. And that goes for Apple too. I think you might just find that in a few years that Apple and MS just can't keep up. Five year release cycles just won't do anymore.<br><br>You've got a bunch of paid employees vs. millions of passionate people. You just know who's gonna win don't you?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-07-09_14:20:45", "killed": false, "user_key": "df60b07a61176c26af4e7201f97c84c1", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9685330": {"up_voted": false, "ip": "", "has_replies": false, "message": "Gene,<br><br>Have you tried Anjuta 2.2?<br>Glade 3 is now embedded inside Anjuta.<br>What about the embedded forms designer in the newer builds of Monodevelop?<br><br>\"es. I am working with all of that right now. I am working on some serious apps for creating feature length animated films and am using every conceivable extension and trick to squeeze out the same level of performance, ease of use and sophistication that Mac developers get for free with Quartz and CoreAnimation.\"<br><br>Are you a developer on the Cinerella project?<br><a href=\"http://heroinewarrior.com/cinelerra.php3\" rel=\"nofollow\">http://heroinewarrior.com/cinelerra.php3</a><br><br>Or is this hollywood stuff for films like Shrek?<br><a href=\"http://www.linuxjournal.com/issue/159\" rel=\"nofollow\">http://www.linuxjournal.com/issue/159</a><br><br>As for performance, I guess it would help to know if you are drawing and rendering with Xlib or if you are using OGL. That would make all the difference in the world. Animation and polygon drawing with X could be a bit slow I would imagine.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-07-09_16:45:16", "killed": false, "user_key": "e8d0dde0c4b3d65b72a92bba1fee5aa7", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9685331": {"up_voted": false, "ip": "", "has_replies": false, "message": "My post timing sucks, I posted right after you.<br><br>\"PDI/Dreamworks\"<br><br>So are they contributing this great Quartz clone API back to the community or are they keeping it in the vault?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-07-09_16:57:30", "killed": false, "user_key": "e8d0dde0c4b3d65b72a92bba1fee5aa7", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9685332": {"up_voted": false, "ip": "", "has_replies": false, "message": "Gene,<br><br>If it's statically compiled in your binaries, please pull it out and make .a and .so's out of the functions and document them.<br><br>I hope PDI/Dreamworks aren't jerks about it.<br><br>Just putting out the .so's for the quartz-like functions doesn't necessarily mean that other studios will instantly be able to capitalize on their work instantly.<br>That type of API can be used for so much.<br><br>I hope you can convince them.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-07-09_17:22:30", "killed": false, "user_key": "e8d0dde0c4b3d65b72a92bba1fee5aa7", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9685333": {"up_voted": false, "ip": "", "has_replies": false, "message": "A couple of comments.<br><br>Year of Linux on the desktop: I don't think there will ever be a year where you will say \"this is the year Linux adoption really took off\". Use of Linux on the desktop has been rising for years and will continue to rise in the comming years.<br><br>Hardware: No OS has supported more hardware and platforms than Linux does. There are stuff that doesn't work, one of the biggest problems have been Wifi but the situation is now much improved. Another problem is drivers for graphics cards from ATI and NVIDIA. They both refuse to work with the open source community to create open source drivers, which is sad. Intel is doing really well in that regard. If you got some hardware that doesn't work with Linux, the right place to complain is to the hardware manufacturer and I hope you do complain when you experience any hardware that doesn't work with Linux.  If your hardware doesn't work with Vista, do you complain to Microsoft about it? No you don't. I recall that there has stability problems with NVIDIA's graphics drivers for Vista and everyone critisized NVIDIA, but if it is Linux with a driver problem, then for some very strange reason it is Linux that is being critisized. I have honestly never understood that.<br><br>Nero: Whoever it was that mentioned Nero should take a look at K3B - it is an amazing application for burning CD's/DVD's.<br><br>Development rate of the desktop: I would suggest you take a look at KDE 4 which is under development currently with the first release planned for october this year. Saying that there isn't any innovation or that the development rate is slow is certainly not true. It sounds more like a matter of not following the rappid progress that is happening. Of course, copying other desktops is being done, but then again, look at Vista and how many years it has taken them to release that. Is it more impressive than OS X? Some say yes, others say no. I have little experience with either, so I can't comment, but the stuff I see happening in the open source desktops is not exactly stone age technology compared to them ;)<br><br>Chris: Regarding Safari, it wasn't based on Konqueror. It was based on KHTML, the web engine. It's now also used on several Nokia phones and it works quite nicely too I must say. Safari is based on KHTML because it is a pretty darn nice engine and it is getting better all the time and it sounds like you don't really know much about it or KDE in general. Not that I do either, but I do know the difference between Konqueror and KHTML :)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-07-10_11:19:13", "killed": false, "user_key": "9c841e940470843bf04b30e3403e3490", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9685334": {"up_voted": false, "ip": "", "has_replies": false, "message": "Ubuntu has over come, as you mentioned, the uglyness of linux, it does come pack to give you everything you need. i installed on two laptops, Dell and Toshiba. on my toshiba it installed flawlesly, however i wish i could say the same about Dell. it took me almost a month of researching and tweaking just to get the wireless working on it. but overall i love it!!!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-07-11_13:05:28", "killed": false, "user_key": "7e897d04a6d420dad79a3eda9ca55ee6", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9685335": {"up_voted": false, "ip": "", "has_replies": false, "message": "Repeating others, there will never be a year of Linux for everyone, it is like a large freight train that takes a long time to get rolling, and everyone will notice it at a differnt time.(the majority of the world will use linux in handheld devices first, not the desktop)<br><br>I have used Linux some since 1999, but it was never ready for ME to switch over my primary PC's, until the last Mandriva release (2008).  I have only used OS-X once in the last six months, and only use windows once in a while.<br><br>And talk about a nice 3d desktop that takes very little power... Yep, I am talking about beryl/compiz fusion... sweet.(makes the others (ms,appl) look so dated)<br><br>Yes, linux may be behind in some areas (unified experience etc), but at the pace it is progressing, I don't see how the proprietary vendors can keep up.<br><br>Like another poster, I am a msdn subscriber that has all the disks and keys for everything MS makes(other than windows home server!)... but, what a pain that is!  When I install Mandriva, everything just works, it installs a ton of good free software, and I don't get insulted by microsoft checking to see if I am a pirate every time I turn around.<br><br>I guess 2007 was the year of linux on the desktop for me, and I aint going back.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-28_01:20:55", "killed": false, "user_key": "c8bc589a330bf3ea7e2aaeec4175a870", "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": "18373596", "user_id": "anonymous", "forum_id": "125200", "hash": -8159447230433993081}, "thread": {"total_posts": 0, "paginate": false, "per_page": 0, "slug": "is_2008_finally_going_to_be_8220year_of_linux_on_the_desktop8221", "num_pages": 1, "days_alive": 0, "realtime_paused": true, "id": 18373596, "num_posts": 81, "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=is_2008_finally_going_to_be_8220year_of_linux_on_the_desktop8221' +
		'&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/is_2008_finally_going_to_be_8220year_of_linux_on_the_desktop8221/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='	+ 'is_2008_finally_going_to_be_8220year_of_linux_on_the_desktop8221'
			+ '&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/is_2008_finally_going_to_be_8220year_of_linux_on_the_desktop8221/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">81</span> Comments\
	 &nbsp;\
	 <span class="dsq-item-feed">\
	 <a href="http://scobleizer.disqus.com/is_2008_finally_going_to_be_8220year_of_linux_on_the_desktop8221/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/is_2008_finally_going_to_be_8220year_of_linux_on_the_desktop8221/">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/is_2008_finally_going_to_be_8220year_of_linux_on_the_desktop8221/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:18373596" 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'				: 'is_2008_finally_going_to_be_8220year_of_linux_on_the_desktop8221',
			// 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/is_2008_finally_going_to_be_8220year_of_linux_on_the_desktop8221/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='	+ 'is_2008_finally_going_to_be_8220year_of_linux_on_the_desktop8221'
			+ '&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='	+ 'is_2008_finally_going_to_be_8220year_of_linux_on_the_desktop8221'
			+ '&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='		+ 'is_2008_finally_going_to_be_8220year_of_linux_on_the_desktop8221'
				+ '&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/18373596/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-9685321">\
	 <div id="dsq-comment-header-9685321" class="dsq-comment-header">\
	 <cite id="dsq-cite-9685321" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9685321" href="http://ubuntista.wordpress.com/" target="_blank" rel="nofollow">ubuntista</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9685321" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9685321" class="dsq-comment-message">Robert,<br>I\'ll write him ASAP and let you know.<br><br>Best,<br><br>Simone</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9685317">\
	 <div id="dsq-comment-header-9685317" class="dsq-comment-header">\
	 <cite id="dsq-cite-9685317" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9685317">Oh Noes!</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9685317" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9685317" class="dsq-comment-message">The year of the Linux desktop will be the same as the year of the Microsoft Bob. Ie, NEVER.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9685316">\
	 <div id="dsq-comment-header-9685316" class="dsq-comment-header">\
	 <cite id="dsq-cite-9685316" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9685316" href="http://scobleizer.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9685316" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9685316" class="dsq-comment-message">Oh Noes! I am mostly inclined to agree with you, but it sure is looking good lately. I\'m wondering if it\'ll break through and get some new app/feature etc that\'ll let it find a niche that no one sees yet?<br><br>Ubuntista: thanks, appreciate that very much!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9685322">\
	 <div id="dsq-comment-header-9685322" class="dsq-comment-header">\
	 <cite id="dsq-cite-9685322" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9685322" href="http://disenchantedtech.wordpress.com/" target="_blank" rel="nofollow">disenchantedtech</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9685322" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9685322" class="dsq-comment-message">I run Ubuntu on my laptop, when it\'s working OK it\'s great but if you need to change something then it\'s not always smooth sailing.<br><br>I went to a website recently that asked for a new version of Java. Under Windows I would have received a pop up asking if I want to install it yes / no.<br>On Ubuntu it took me to a site with about 2 pages of installation instructions including a few manual tweaks on various files.<br>Maybe next year</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9685320">\
	 <div id="dsq-comment-header-9685320" class="dsq-comment-header">\
	 <cite id="dsq-cite-9685320" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9685320" href="http://ericdotnet.com/" target="_blank" rel="nofollow">ericdotnet</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9685320" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9685320" class="dsq-comment-message">The good thing about Dell offering Ubuntu is that it will force hardware vendors to get their act together and offer drivers for linux.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9685314">\
	 <div id="dsq-comment-header-9685314" class="dsq-comment-header">\
	 <cite id="dsq-cite-9685314" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9685314" href="http://www.butlershouse.co.uk/" target="_blank" rel="nofollow">Nicholas Butler</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9685314" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9685314" class="dsq-comment-message">Robert,<br><br>I am just back from Lugradio Live 2007 and if the commitment from people like Google, Sun, Dell , Canonical, Redhat and Novell is anything to go by this is not idle speculation.<br><br>I have given a brief overview of the things I saw and spoke about and Ill go into some details later this week. The thing to watch for; Dell and Ubuntu Im prettuy sure weve not heard the last of the interesting news on that front<br><br><a href="http://www.loudmouthman.com/2007/07/09/lugradio-2007-loud-and-unwashed/" rel="nofollow">http://www.loudmouthman.com/2007/07/09/lugradio...</a></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9685319">\
	 <div id="dsq-comment-header-9685319" class="dsq-comment-header">\
	 <cite id="dsq-cite-9685319" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9685319" href="http://joehewitt.wordpress.com/" target="_blank" rel="nofollow">joehewitt</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9685319" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9685319" class="dsq-comment-message">Robert, you may be confusing me with someone else.  If you saw my computer, it was running Mac OS X.  I haven\'t ever owned a computer that runs Linux in my life.  Nothing against Linux, I\'m just a Mac-head. 2008 will probably be the year of Leopard if you ask me ;)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9685318">\
	 <div id="dsq-comment-header-9685318" class="dsq-comment-header">\
	 <cite id="dsq-cite-9685318" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9685318">Pim de Groot</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9685318" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9685318" class="dsq-comment-message">I\'ve been using ubuntu since the first version (warty warthog) and it got better and better. Installing it has become very easy and most hardware works out of the box.<br><br>If you only use internet, e-mail, write some documents and do other basic tasks with your computer, then ubuntu is already a good option. Ubuntu comes with a lot of good software to do those things. And if you need another program you can use "add programs", or the synaptic package manager to add software.<br><br>If you have to use windows only programs like CAD, or  you want to play games then ubuntu isn\'t a good option. You can get some programs to work with wine, but i haven\'t got any luck with those type of programs.<br><br>I have had some problems with ubuntu. My wacom tablet didn\'t work out of the box and i had to edit some config file to get it to work. Setting up samba (to share files with windows computers) took some editing in config files too. The solution to those problems were not that difficult to find, but you have to use bash and edit textfiles to get it to work, instead of the wizards you have to use in windows.<br><br>I like the way Ubuntu works, but it will need another version or two before it can be used as a desktop OS. A lot of things have become easier to do, but other things still need some improvements.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9685313">\
	 <div id="dsq-comment-header-9685313" class="dsq-comment-header">\
	 <cite id="dsq-cite-9685313" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9685313" href="http://scobleizer.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9685313" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9685313" class="dsq-comment-message">Joe: now I\'m really confused. I thought it was your computer I was seeing running Ubuntu. I haven\'t gotten enough sleep this weekend. Sorry about that. Are you this Joe Hewitt: <a href="http://www.joehewitt.com/" rel="nofollow">http://www.joehewitt.com/</a> ?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9685315">\
	 <div id="dsq-comment-header-9685315" class="dsq-comment-header">\
	 <cite id="dsq-cite-9685315" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9685315" href="http://joehewitt.wordpress.com/" target="_blank" rel="nofollow">joehewitt</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9685315" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9685315" class="dsq-comment-message">Yep, that\'s me.  Thanks for the correction.  Great meeting you again this weekend!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9685269">\
	 <div id="dsq-comment-header-9685269" class="dsq-comment-header">\
	 <cite id="dsq-cite-9685269" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9685269" href="http://scobleizer.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9685269" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9685269" class="dsq-comment-message">Cool, but now I am wondering who showed me Ubuntu. Hmmm.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9685312">\
	 <div id="dsq-comment-header-9685312" class="dsq-comment-header">\
	 <cite id="dsq-cite-9685312" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9685312" href="http://www.ozlady.com/" target="_blank" rel="nofollow">ozlady</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9685312" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9685312" class="dsq-comment-message">We put Fedora Core 6 on the desktops of all PCs except admin, finance and the boss (who is too pig-headed to give anything new a go). Admin and finance get to keep Windows due to some apps they have to run.<br><br>Sales only uses the email client, OpenOffice (we made that transition a year ago), and a web browser.<br><br>Our IT guy only has one complaint - he is now bored, and we are probably going to move him to work in a partner IT organisation, as he now has fewer user problems.<br><br>I have one Windows system in sales, and that is the only system giving us problems.<br><br>Moving to Firefox reduced shareware and virus infestations immediately, then we moved our email to Google Apps, left them accessing it through the browser and switched the desktops to Fedora. It\'s an IT dream.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9685311">\
	 <div id="dsq-comment-header-9685311" class="dsq-comment-header">\
	 <cite id="dsq-cite-9685311" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9685311" href="http://www.boardtracker.com/" target="_blank" rel="nofollow">BoardTracker</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9685311" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9685311" class="dsq-comment-message">For me its been \'linux year of the desktop\' (and laptop) for a couple of years already - I run centos (redhat enterprise) and it\'s great.. looks good, has all the apps I ever need, very customizable, steady as a rock (runs for months without a reboot or crash) and was quite easy to install and configure. Being free is nice too. I can also run some windows apps on linux using WINE if I need to (which I only ever did for \'fun\'). Of course YMMV but I have never looked back since ditching windows.<br><br>Having said that, linux is still a long way behind in terms of games so it wont appeal to everyone but for a work desktop (or for anyone who doesn\'t care much about pc games) its great.<br><br>You could also dual-boot (or virtualize) for the best of both worlds.. ;)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9685310">\
	 <div id="dsq-comment-header-9685310" class="dsq-comment-header">\
	 <cite id="dsq-cite-9685310" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9685310">AudioPro</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9685310" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9685310" class="dsq-comment-message">I dual boot Ubuntu Studio and XP (and use OS X for web hosting and video editing) and have to say: for an audio professional, Ubuntu just isn\'t there yet. Not stable, takes way too much configuration, and lacking the apps I need (SADiE equivalent). Two other things keep me on XP: X1 and .pst files.<br><br>kj</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9685309">\
	 <div id="dsq-comment-header-9685309" class="dsq-comment-header">\
	 <cite id="dsq-cite-9685309" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9685309">Udo</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9685309" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9685309" class="dsq-comment-message">System configuration issues for end users is still the single largest problem with Linux, at least in my book. I\'m a developer geek and even I get immensely frustrated on a regular basis.<br><br>That, and stupid little usability quirks annoy the hell out of me...</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9685308">\
	 <div id="dsq-comment-header-9685308" class="dsq-comment-header">\
	 <cite id="dsq-cite-9685308" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9685308" href="http://blogs.herod.net/steven" target="_blank" rel="nofollow">Steven H</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9685308" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9685308" class="dsq-comment-message">The media has been proclaiming the year of linux on the desktop for at 7 years or more.<br><br>It isn\'t ever going to happen.  And frankly, I don\'t want need it to.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9685307">\
	 <div id="dsq-comment-header-9685307" class="dsq-comment-header">\
	 <cite id="dsq-cite-9685307" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9685307" href="http://hauntingthunder.wordpress.com/" target="_blank" rel="nofollow">Maurice</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9685307" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9685307" class="dsq-comment-message">Hmm<br><br>Not sure that Linux will ever be ready for the desk top - if I want desk top unix\'s  there’s Apple<br><br>and pardon my cynicism how many of the Ubunto Dells will have hooky  copies of windows installed on them asap.<br><br>My laptop was designed as a small recording rig (Cubase live and a real Soundcard) as well as a back up machine doubt ill see the day when I can use Ubunto as easily a I can xp for that<br><br>Class compliant USB and AISO drivers for proper soundcards.<br><br>Interesting that Mat C’s comments when he tried it went along the lines of<br><br>“didn’t handle large monitors and didn’t configure the network properly out of the box”</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9685306">\
	 <div id="dsq-comment-header-9685306" class="dsq-comment-header">\
	 <cite id="dsq-cite-9685306" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9685306" href="http://neverness.wordpress.com/" target="_blank" rel="nofollow">neverness</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9685306" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9685306" class="dsq-comment-message">Robert,<br><br>I\'m a sole Ubuntu user, (though sometimes use Windows in VMWare). I just wish they would stop claiming every year that the next year is the year of the linux desktop....<br><br>It just isn\'t important, is it a viable alternative to Windows/Mac? It might be depending on your specific needs.<br><br>But people who change will have to get accustomed to the differences, and be content with the programs which reside in the repositories if they want to have a pain free experience.<br><br>Though hardware support is greatly improved, there are still a lot of vendors who won\'t support Linux, so buying stuff needs to be done with care..</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9685327">\
	 <div id="dsq-comment-header-9685327" class="dsq-comment-header">\
	 <cite id="dsq-cite-9685327" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9685327" href="http://www.beercosoftware.com/" target="_blank" rel="nofollow">Chris</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9685327" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9685327" class="dsq-comment-message">With the new genuine advantage and Vista activation schemes, there will definitely be more people migrating to Vista.<br><br>I happen to have an MSDN professional subscription, but most people can\'t sink 2000 bucks into that. Even there the big fat MS cd case sits in a drawer collecting dust.<br><br>Developers are migrating to Linux at an alarming pace because of this<br><a href="http://www.pcworld.com/article/id%2C134115-c%2Cresearchreports/article.html" rel="nofollow">http://www.pcworld.com/article/id,134115-c,rese...</a><br>and IBM\'s eclipse is fast becoming the Visual Studio defacto standard on the platform:<br><a href="http://digg.com/linux_unix/Linux_developers_considering_move_to_Eclipse" rel="nofollow">http://digg.com/linux_unix/Linux_developers_con...</a><br><br>With the subscription I have, I can pretty much use ANY Microsoft software to develop applications. The fact that the CD Case full of the DVDs has been sitting in a drawer for almost a year now with no use in site really speaks volumes on the need for Windows today over Linux.<br><br>The Developers are moving towards the platform, because Linux is getting extremely easy to build applications for.<br>Stuff like Real Basic for Linux:<br><a href="http://www.realbasic.com/products/realbasic/screenshots/linux/" rel="nofollow">http://www.realbasic.com/products/realbasic/scr...</a><br>Monodevelop, and other tools did not exist before.<br>C++ used to be hard to code on Linux, but now with the new Anjuta 3 it is very easy. Netbeans, and Eclipse also make C++ and Java very easy to code on the platform, and Kdevelop is now very stable too.<br><br>When the developers come to a platform and populate it with compelling applications as is the case, then the people will follow. Because their favorite apps will be ONLY for Linux.<br>MS should be worried. I was one of the very first Windows developers to leave the platform for Linux and announce it publicly. It seems that since that time when I cut up my Visual Studio 2000 discs that many have followed.<br><br><a href="http://www.youtube.com/watch?v=_ImW0-MgR8I" rel="nofollow">http://www.youtube.com/watch?v=_ImW0-MgR8I</a><br><br>Stuff like this and Beryl helps too. Nobody wants yesterday\'s OS in Vista. The cool stuff was an afterthought on that OS, and they are quickly loosing the developers to fill the gaps that they left.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9685305">\
	 <div id="dsq-comment-header-9685305" class="dsq-comment-header">\
	 <cite id="dsq-cite-9685305" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9685305" href="http://www.beercosoftware.com/" target="_blank" rel="nofollow">Chris</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9685305" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9685305" class="dsq-comment-message">The first sentence should read "migrating from Vista."<br><br>They will also migrate to Mac, though Mac is less compelling than Linux for a lot of people.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9685303">\
	 <div id="dsq-comment-header-9685303" class="dsq-comment-header">\
	 <cite id="dsq-cite-9685303" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9685303" href="http://www.beercosoftware.com/" target="_blank" rel="nofollow">Chris</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9685303" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9685303" class="dsq-comment-message">"Anyway, it’s time to get an interview with Mark Shuttleworth. Anyone know him and want to introduce us?"<br><br><a href="http://www.markshuttleworth.com/contact-details" rel="nofollow">http://www.markshuttleworth.com/contact-details</a><br><br>Ubuntu is also part of the FSF, so you can join that organization for $125 annually and put a post up on the mailing list for the Ubuntu people. They will most likely get Mark to get back to you.<br><br>If you are doing press, you probably won\'t need an introduction.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9685299">\
	 <div id="dsq-comment-header-9685299" class="dsq-comment-header">\
	 <cite id="dsq-cite-9685299" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9685299" href="http://k.blog.com/" target="_blank" rel="nofollow">Sérgio Carvalho</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9685299" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9685299" class="dsq-comment-message">Maurice,<br><br>Have you taken a look at Ubuntu Studio?<br> <a href="http://ubuntustudio.org/" rel="nofollow">http://ubuntustudio.org/</a><br><br>It\'s a media-editor adapted ubuntu. It might just fit your needs.<br><br>As for the whole year of linux on the desktop meme, I don\'t think there will ever be a year of linux on the desktop. Linux seems to increasingly gain traction, and seems to be evolving into a very user friendly desktop. However, since there won\'t be a memorable marketing push nor huge differences between releases, the increasing use of linux on the desktop is bound to happen very gradually. It is already a solution for many people, it will surely become compelling to many more in the next few years. However, it won\'t be possible to look back and say that 2007 or 2008 or any other year were *The* Year.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9685300">\
	 <div id="dsq-comment-header-9685300" class="dsq-comment-header">\
	 <cite id="dsq-cite-9685300" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9685300" href="http://www.geise.com/" target="_blank" rel="nofollow">PXLated</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9685300" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9685300" class="dsq-comment-message">I\'m in the never camp. It\'s possibly ok for a geek but it\'s got too far to go for the mainstream user. And, what does the average user gain other than $1-200 buck savings. That just isn\'t worth the hassel of drivers, installs and no "official" support or hand holding. And, no, the average user is not going to hang out in the geeky forums when they need help.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9685301">\
	 <div id="dsq-comment-header-9685301" class="dsq-comment-header">\
	 <cite id="dsq-cite-9685301" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9685301" href="http://www.icemark.com/blog/" target="_blank" rel="nofollow">Chris Wild</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9685301" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9685301" class="dsq-comment-message">#19 - "IBM’s eclipse is fast becoming the Visual Studio defacto standard on the platform..."<br><br>Chris, I use that product day in day out, and I wouldn\'t inflict it on my worst enemy!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9685298">\
	 <div id="dsq-comment-header-9685298" class="dsq-comment-header">\
	 <cite id="dsq-cite-9685298" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9685298" href="http://www.geise.com/" target="_blank" rel="nofollow">PXLated</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9685298" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9685298" class="dsq-comment-message">Question...<br>I don\'t follow the whole Linux thing real closely as I\'m happy with OSX and just want to get things done. My impression though is there really isn\'t any "innovation" in the Linux arena, it\'s mostly just all copy cat of existing stuff and a few years behind at that...on the desktop. Is there anything that is innovative that would appeal to anyone other than a geek?<br>For instance, on Mac you have all the iLife apps/integration, iTunes/iPod integration and now iPhone. iSight cameras with iChat. Things seem to be moving faster in the consumer space than Linux can keep up with.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9685297">\
	 <div id="dsq-comment-header-9685297" class="dsq-comment-header">\
	 <cite id="dsq-cite-9685297" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9685297" href="http://www.duncanriley.com/" target="_blank" rel="nofollow">Duncan</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9685297" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9685297" class="dsq-comment-message">Robert<br>It may be getting easier to use and prettier to look at, but it still sucks at overall support for basic PC hardware. I was keen to switch to Ubuntu permanently on my less than 12 month old Laptop: the wireless card isn\'t supported, my now ex-PC: video card issues. Worse thing: you still have to revert to the command line for anything other than the basics. This won\'t be the year of the Linux desktop, and neither will next year.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9685295">\
	 <div id="dsq-comment-header-9685295" class="dsq-comment-header">\
	 <cite id="dsq-cite-9685295" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9685295" href="http://carneyfamily.wordpress.com/" target="_blank" rel="nofollow">Steven Richardson</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9685295" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9685295" class="dsq-comment-message">I have been playing around with Ubuntu on an older machine at home for the past few weeks, and think it is great!  I agree that Dell has broken through the Windows lock on PC OS\'s by offering Ubuntu machines, and I also agree that this (and other vendors joining in) might finally get hardware vendors to write Linux drivers for their devices.  This is the biggest problem facing Linux\'s general acceptance and the biggest problem I have had with it: you just have to do too much under the hood to get it to work with some devices (notably wireless NICs).  Linux is closer than it has ever been to being accepted.  It just needs the hardware community behind it.<br><br>You might want to check out some Ubuntu blogs that are good: <a href="http://allaboutubuntu.wordpress.com" rel="nofollow">allaboutubuntu.wordpress.com</a>, <a href="http://ubuntu.wordpress.com" rel="nofollow">ubuntu.wordpress.com</a>, <a href="http://anotherubuntublog.wordpress.com" rel="nofollow">anotherubuntublog.wordpress.com</a>, and <a href="http://sheehantu.wordpress.com" rel="nofollow">sheehantu.wordpress.com</a>.  I find them very informative and written by knowledgeable people.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9685296">\
	 <div id="dsq-comment-header-9685296" class="dsq-comment-header">\
	 <cite id="dsq-cite-9685296" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9685296" href="http://www.la-res-publica.com.ar/" target="_blank" rel="nofollow">Alejandro</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9685296" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9685296" class="dsq-comment-message">There won\'t be a "year of Linux on the desktop", even though Linux will probably climb to 10 or 20% of user share in the next decade. Which was the "year of the PC on the desktop"? I had my first PC in 1989 when I was four, but most people I know didn\'t get into computers until 93-95, and many didn\'t have net access until 1998. In the same way, I think Ubuntu Dapper started the age of user-friendly Linux, but most people will remember Feisty better (the first 08 release could be interesting too... having Long Term Support and modern features Dapper lacked, it could be a nice OS for OEMs). For me, the year of Linux on the Desktop was last year, but most people probably never noticed ;).<br><br>Myself, I\'m happily enjoying my new laptop with Ubuntu as its only OS :) Though I might make a separate partition to try stuff like PCLinuxOS or Fedora 7.<br><br>PXLated: Linux has a big cost advantage. Not just on the OS, you also have thousands of easy to install open source apps. Depending on your level of geekdom, you can choose them from a menu or type a command, and get whatever you need installed. Of course, they\'re often not as good as commercial competition, but most people don\'t need pro features (example: no pro would choose GIMP over Photoshop, but it can compete against Photoshop Elements which has most of the features "Joe USer" needs. That\'s a $100 saving... do this for every app, and add in ease of installation, and you get a great edge over proprietary software).<br><br>Maurice: if you want Vista, you\'re better off buying it preinstalled. Most people can\'t install an OS, much less Windows. Today Ubuntu is FAR more user friendly to install... I install Ubuntu and XP or 2k every week in different computers, and the Ubuntu install is faster, easier and more complete (it comes with a real browser and OpenOffice, for example, and you don\'t need extra security software). Plus, I can read my feeds or play Tetris while I install. Meanwhile, partitioning a HD with the XP installer is a lot like using cfdisk in a horrible TUI...</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9685294">\
	 <div id="dsq-comment-header-9685294" class="dsq-comment-header">\
	 <cite id="dsq-cite-9685294" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9685294" href="http://www.downfromthetrees.com/" target="_blank" rel="nofollow">billg</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9685294" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9685294" class="dsq-comment-message">Linux fans need to stop worrying about Microsoft and just concentrate on improving Linux.  It\'s already free and it\'s already widely available. There is little else to do along those fronts.<br><br>First, they need to keep working on device compatibililty, especially pushing out drivers for new hardware.  That will require a bit of magic as long as the vendors keep their code to themselves.<br><br>Second, conjure up a risk-free install so Windows users can try it and go back to Windows without losing a beat. Sure, you can run it off CD/DVD, but that just gives the impression that Linux is ungodly slow. Magic probably needed here, too.<br><br>Third, the hardcore set should stop trying to persuade people to use Linux by converting them to the Church of Stallman.  Ain\'t working.<br><br>Fourth, consider Apple:  Wed Linux to a specific hardware platform and make it so enticing that people want to buy it.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9685293">\
	 <div id="dsq-comment-header-9685293" class="dsq-comment-header">\
	 <cite id="dsq-cite-9685293" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9685293" href="http://www.beercosoftware.com/" target="_blank" rel="nofollow">Chris</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9685293" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9685293" class="dsq-comment-message">@Chris Wild<br><br>"Chris, I use that product day in day out, and I wouldn’t inflict it on my worst enemy!"<br><br>I in fact do not use Eclipse, because it\'s slow, and the UI is bad. BUT, I am referring to the <a href="http://Digg.com" rel="nofollow">Digg.com</a> article where many Linux developers discussed the issue.<br><br><a href="http://cnd.netbeans.org" rel="nofollow">http://cnd.netbeans.org</a><br>This is in fact the Visual C++ debugger, dev environment on Linux that I like to use. It doesn\'t automake conf and makefiles as much as Anjuta, but it has a very good look and feel. I also use it for Java. If you need more hand holding you probably shouldn\'t be developing C/C++ code anyway.<br><br>The one thing that Visual Studio shines at is automating the make process, because aside from that there really isn\'t any difference what so ever between Windows and Linux for C++.<br>With ant and CND and Anjuta though, much of the configuration and automake is generated well enough that it\'s easy to use.<br>Java development is flawless, and VB with Real Basic or Monodevelop is stupid easy.<br><br>So many developers are jumping ship now from Windows to Linux I suppose it won\'t be long before people are using Linux for the simple fact that their favorite applications only run on Linux and not Windows or Mac.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9685328">\
	 <div id="dsq-comment-header-9685328" class="dsq-comment-header">\
	 <cite id="dsq-cite-9685328" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9685328" href="http://www.beercosoftware.com/" target="_blank" rel="nofollow">Chris</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9685328" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9685328" class="dsq-comment-message">"And, what does the average user gain other than $1-200 buck savings."<br><br>That\'s only if they steal the other software, like Photoshop, Premier, Final cut or whatever. If they don\'t then the savings is more like a few thousand dollars.<br><br>A lot of people also like to do webdesign on localhost which most Linux autoconfigures to /var/www/html. A similar setup on windows will either cost them for a win server license and an extra machine or will be complex to set up with FOSS.<br><br>Let\'s consider cost as well for proprietary software:<br><a href="http://www.nero.com//eng/Nero_7_Premium_InfoPage.html" rel="nofollow">http://www.nero.com//eng/Nero_7_Premium_InfoPag...</a><br>Nero for Windows = $79<br><a href="http://www.nero.com/eng/NeroLINUX.html" rel="nofollow">http://www.nero.com/eng/NeroLINUX.html</a><br>Nero for Linux = $25<br><br>Often times companies will offer polished commercial software for Linux at a reduced cost which saves people even more money while retaining commercially professional software.<br>Nero 3 Linux for example retains most of the polished look and functionality of it\'s windows cousin.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9685304">\
	 <div id="dsq-comment-header-9685304" class="dsq-comment-header">\
	 <cite id="dsq-cite-9685304" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9685304" href="http://www.beercosoftware.com/" target="_blank" rel="nofollow">Chris</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9685304" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9685304" class="dsq-comment-message">I know there are lots of Adobe people looking through.<br><br><a href="http://www.codeweavers.com/about/general/press/20031027/" rel="nofollow">http://www.codeweavers.com/about/general/press/...</a><br><br>"Macromedia is committed to supporting our customers in the technologies they choose," said Susan Morrow, vice president of product management, Macromedia. "We are excited to see how Linux developers will use CrossOver Office 2.1 with its support for Macromedia Dreamweaver MX and Flash MX."<br><br>Why did Adobe drop Linux certification for WINE on Linux as soon as macromedia was purchased by Adobe?<br><br><a href="http://www.eweek.com/article2/0%2C1895%2C2155787%2C00.asp" rel="nofollow">http://www.eweek.com/article2/0,1895,2155787,00...</a><br>Dell\'s Linux Desktop Line Keeps Expanding<br><br>Linux is mushrooming right now as Dell plans to expand it\'s new Linux machines across the whole world.<br>So why did they discontinue Linux support of Flash MX Studio and Photoshop on WINE with codeweavers?<br><br>Have they considered doing a native build of the products for Linux with GTK UI at a reduced price in the same way Nero and other companies that do Linux product ports do?<br><br>I know they are reading through, so I decided to take a chance. Perhaps JD can answer this one.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9685302">\
	 <div id="dsq-comment-header-9685302" class="dsq-comment-header">\
	 <cite id="dsq-cite-9685302" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9685302">Mark Ashton</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9685302" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9685302" class="dsq-comment-message">You have to admit the irony of asking whether this will be the year of Linux on the desktop. Do a quick search (<a href="http://www.google.com/search?hl=en&amp;q=Year+of+Linux+Desktop" rel="nofollow">http://www.google.com/search?hl=en&amp;q=Year+o...</a>) and in the first three pages of results there are three different "Year of Desktop Linux" results: 2006, 2007 and 2008 (nice to plan ahead...).  What\'s the old yarn about the definition of insanity? Although not a perfect analogy...preducting the same thing year after year and expecting a different result?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9685292">\
	 <div id="dsq-comment-header-9685292" class="dsq-comment-header">\
	 <cite id="dsq-cite-9685292" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9685292" href="http://www.geise.com/" target="_blank" rel="nofollow">PXLated</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9685292" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9685292" class="dsq-comment-message">Alejandro...<br>-----<br>"do this for every app, and add in ease of installation, and you get a great edge over proprietary software"<br>But, they don\'t need anything else, at least on a Mac. Most consumers won\'t even use (or require) all that\'s included so no expenditures.<br>----------<br>Chris...<br>-----<br>"That’s only if they steal the other software, like Photoshop, Premier, Final cut or whatever. If they don’t then the savings is more like a few thousand dollars."<br>The average consumer does not use Photoshop, most don\'t even use Elements, they use iPhoto (free) or something similar. So, no savings.<br>-----<br>"A lot of people also like to do webdesign on localhost"<br>Uhhh, show me a average user (80% of the market) that wants to do this even though you can on OSX by clicking a checkbox.<br>----------<br>The year of the Linux desktop implies wider spread adoption (not just geeks) and most will not gain anything, in fact they will lose because of less polished apps and the lack of integration between/among apps and hardware.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9685291">\
	 <div id="dsq-comment-header-9685291" class="dsq-comment-header">\
	 <cite id="dsq-cite-9685291" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9685291" href="http://buddylindsey.com/" target="_blank" rel="nofollow">Buddy Lindsey</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9685291" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9685291" class="dsq-comment-message">"A lot of people also like to do webdesign on localhost which most Linux autoconfigures to /var/www/html. A similar setup on windows will either cost them for a win server license and an extra machine or will be complex to set up with FOSS."<br><br>You do realize that a lot of windows versions have a built in webserver or you can get wamp or xamp? these are all "Free" alternatives that a lot of web developers should know about.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9685329">\
	 <div id="dsq-comment-header-9685329" class="dsq-comment-header">\
	 <cite id="dsq-cite-9685329" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9685329" href="http://jack-of-all-tradez.blogspot.com/" target="_blank" rel="nofollow">Richard Querin</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9685329" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9685329" class="dsq-comment-message">No it is not the year of the Linux desktop. Nor is it the year of the Mac desktop. MS has 80 odd percent marketshare no? But still Dell offers Linux. Still people by Macs. MS should be worried that it\'s *not* the Year of Vista either. Slowly but surely, that 80 percent is dropping.<br><br>Anyway the key thing IMO is the potential of the open-source community (a large part of which runs linux). For instance, how can a company with 50k employees and millions of dollars at their disposal spend several years preparing a $400.00 OS full of eye-candy only to be beaten to the punch (and then soundly trounced) by a bunch of hacks in their basements who do it all for free? Well they did. And that goes for Apple too. I think you might just find that in a few years that Apple and MS just can\'t keep up. Five year release cycles just won\'t do anymore.<br><br>You\'ve got a bunch of paid employees vs. millions of passionate people. You just know who\'s gonna win don\'t you?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9685287">\
	 <div id="dsq-comment-header-9685287" class="dsq-comment-header">\
	 <cite id="dsq-cite-9685287" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9685287">seshadri</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9685287" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9685287" class="dsq-comment-message">"You’ve got a bunch of paid employees vs. millions of passionate people. You just know who’s gonna win don’t you"<br><br>You mean like how Adobe Photoshop lost out to some open source alternative?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9685289">\
	 <div id="dsq-comment-header-9685289" class="dsq-comment-header">\
	 <cite id="dsq-cite-9685289" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9685289" href="http://www.beercosoftware.com/" target="_blank" rel="nofollow">Chris</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9685289" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9685289" class="dsq-comment-message">"The average consumer does not use Photoshop, most don’t even use Elements, they use iPhoto (free) or something similar. So, no savings."<br><br>If they only use Thunderbird and Firefox to view the web and check email, then what is the point of buying Windows or Mac?<br><br>It\'s exactly the same across all 3 platforms. Why would you pay when you can use it on Ubuntu for free?<br><br><a href="http://linux.slashdot.org/article.pl?sid=07/07/04/019215&amp;from=rss" rel="nofollow">http://linux.slashdot.org/article.pl?sid=07/07/...</a><br><br>You can say all you want like Windows systems are subsidized ect... with OEM versions, but the truth is Linux systems are cheaper out of box. $50 cheaper to be exact.<br><br>There\'s no shovelware, and you can use Thunderbird and Firefox just the same.<br><br>Our company has a brand new 24" core duo 2.16 iMac. I think it\'s great. But we could also afford it as a non-essential piece of equipment. Most people can\'t. Plus upgrades are free.<br>The reason most buy the Macs is because of the support with graphic major design software and quark. If you take that away you don\'t have much left as Beryl is far superior to OSX as far as flashyness is concerned.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9685288">\
	 <div id="dsq-comment-header-9685288" class="dsq-comment-header">\
	 <cite id="dsq-cite-9685288" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9685288">Gene</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9685288" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9685288" class="dsq-comment-message">When I was at Eazel in the 2000, I thought 2001 was going to be the year of Linux on the desktop.  There was a great group of developers not just at Eazel, but at several companies making great strides.<br><br>Leaving Be for Eazel was like trading in a set of precision tools for stone knives and bear skins, but it seemed like there was a chance to make something great happen.  It didn\'t quite work out that way.<br><br>Many of us went to Apple and the key contributors to almost every one of Apple\'s major new technologies came over from Eazel or Be.  Safari/WebKit, CoreAnimation/CoreGraphics, Spotlight, the list goes on.  A huge amount of talent left the Linux world and moved into the closed or only partially open source world.<br><br>Now that I am back at a company using open source tools and contributing again, I am dismayed, but not surprised, at how little has changed.  Sure, a distro like Ubuntu is great, but I am not seeing great strides taken with either GNOME or KDE.  And when I look at the internals of these libraries, they are light years behind where Apple is.  I have no clue how Richar d thinks a bunch of hacks beat Microsoft or Apple to the punch.  Linux isn\'t even in the ring.  Unless there is some sort of major impetus to drive participation, coordination and innovation, Linux will continue to be a fringe competitor.  There isn\'t millions of Linux hackers out there.  The main contributors to the vital components can almost be coutned on two hands.  That isn\'t good.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9685285">\
	 <div id="dsq-comment-header-9685285" class="dsq-comment-header">\
	 <cite id="dsq-cite-9685285" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9685285" href="http://jack-of-all-tradez.blogspot.com/" target="_blank" rel="nofollow">Richard Querin</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9685285" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9685285" class="dsq-comment-message">@seshadri<br><br>Certain applications like Photoshop (and AutoCAD which I use at work) will maybe never get toppled. But speaking from experience, the mainstream users are not using Photoshop and AutoCAD. We\'re talking about being able to browse the web, make a newsletter, organize your photos. In that respect (well almost) there are already perfectly competitive open source products.<br><br>My point is that passionate people can be remarkably persistent and do amazing things (not just in the OS realm). The point is that a distro like Ubuntu offers as much value as XP or Mac for absolutely nothing. Whether or not everybody knows that is another thing. But you can\'t keep a good man down forever! :) No matter how hard Ballmer tries. ;)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9685284">\
	 <div id="dsq-comment-header-9685284" class="dsq-comment-header">\
	 <cite id="dsq-cite-9685284" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9685284" href="http://www.beercosoftware.com/" target="_blank" rel="nofollow">Chris</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9685284" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9685284" class="dsq-comment-message">"And when I look at the internals of these libraries, they are light years behind where Apple is."<br><br>How is XCode and cocoa that much better than the latest GTK and Xlib?<br><br>Have you checked out the all the new freedesktop extensions to Xlib for compositing ect... ?<br>We were developing a toolkit for GTK based on XGL and AIGLX, and you can do some pretty neat stuff with that.<br>What do you think about Cairo?<br><br>If Apple is so superior, then why was Safari based on Konqueror, the ugliest Linux browser and KHTML???<br><br>I like Apple, I\'m just saying.<br>BTW, we don\'t have time to develop the Dark Energy toolkit right now that extended advanced compositing to GTKmm++, but I can send it to you if you want to work on it.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9685286">\
	 <div id="dsq-comment-header-9685286" class="dsq-comment-header">\
	 <cite id="dsq-cite-9685286" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9685286" href="http://jack-of-all-tradez.blogspot.com/" target="_blank" rel="nofollow">Richard Querin</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9685286" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9685286" class="dsq-comment-message">@gene,<br><br>Simply put. What does the $400 CDN that I give to MS for Vista Ultimate give me that Ubuntu Linux cannot?<br><br>It\'s simply not rational for me to run Windows at home anymore (believe me, I did for *years*).</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9685283">\
	 <div id="dsq-comment-header-9685283" class="dsq-comment-header">\
	 <cite id="dsq-cite-9685283" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9685283" href="http://www.geise.com/" target="_blank" rel="nofollow">PXLated</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9685283" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9685283" class="dsq-comment-message">Gene...Thanks for the insight!!!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9685282">\
	 <div id="dsq-comment-header-9685282" class="dsq-comment-header">\
	 <cite id="dsq-cite-9685282" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9685282" href="http://www.beercosoftware.com/" target="_blank" rel="nofollow">Chris</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9685282" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9685282" class="dsq-comment-message">"Simply put. What does the $400 CDN that I give to MS for Vista Ultimate give me that Ubuntu Linux cannot?"<br><br>Richard, it\'s actually $500 + 15% sales tax at most places.<br><a href="http://www.flickr.com/photo_zoom.gne?id=763420072&amp;size=o" rel="nofollow">http://www.flickr.com/photo_zoom.gne?id=7634200...</a><br>I\'d give you a link, but office depot requires a valid zip code. Americans can use G1P 4M3 to view it.<br><br>So that\'s $575 CAD for Vista on 1 single computer, because of the Activation checks.<br>With the US/Canada exchange rate being about 4.9%<br><a href="http://finance.yahoo.com/currency/convert?amt=1&amp;from=USD&amp;to=CAD&amp;submit=Convert" rel="nofollow">http://finance.yahoo.com/currency/convert?amt=1...</a><br><br>It will cost Canadians $547 USD for EVERY single computer they own. When ultimately it would have cost them nothing to do the same Email and Web with Mozilla programs on Ubuntu.<br>This isn\'t fiction, it\'s fact.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9685290">\
	 <div id="dsq-comment-header-9685290" class="dsq-comment-header">\
	 <cite id="dsq-cite-9685290" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9685290" href="http://kystorms.wordpress.com/" target="_blank" rel="nofollow">kystorms</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9685290" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9685290" class="dsq-comment-message">I have been using Ubuntu since March of this year, I am by no means a "geek" yet though I am working my way up to it. I will tell you that I am far more comfortable using this than I ever was with windows. I had vista and it ate my hard drive up like it was candy, and ran poorly.<br>With Feisty, I get all the eye candy I could ever want with far more control than with Vista, and I can use wine when i need to go windows for some reason, but that is hardly ever.<br>I have every single program I need, I run some blogs, and do some heavy research on the net... and it has been smooth sailing for me. I do my own programming when I need a new application, if I need help there is the Ubuntu forums, its perfect for a new user.<br>As far as I am concerned.. Windoze can keep Vista, I have what I need right here and I did not have to pay 800.00 for it either.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9685281">\
	 <div id="dsq-comment-header-9685281" class="dsq-comment-header">\
	 <cite id="dsq-cite-9685281" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9685281">seshadri</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9685281" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9685281" class="dsq-comment-message">"Certain applications like Photoshop (and AutoCAD which I use at work) will maybe never get toppled."<br><br>Why? Why hasn\'t open source with millions of passionate users come up with a better free photo editing software. you can\'t have separate rules for OS and applications.<br><br>I always thought it would be easier for open source and Linux to gain ground by having a excellent set of open source application and not the other way round. But even after so many \'Years of Linux &amp; opensource\' there is not a single mainstream open source application on top of its category.<br><br>It\'s tough to believe that all of a sudden things will change in 2008</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9685279">\
	 <div id="dsq-comment-header-9685279" class="dsq-comment-header">\
	 <cite id="dsq-cite-9685279" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9685279" href="http://www.beercosoftware.com/" target="_blank" rel="nofollow">Chris</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9685279" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9685279" class="dsq-comment-message">@seshadri<br><br>“Certain applications like Photoshop (and AutoCAD which I use at work) will maybe never get toppled.”<br><br><a href="http://www.alias.com/eng/support/maya/qualified_hardware/QUAL/maya_80_linux.html" rel="nofollow">http://www.alias.com/eng/support/maya/qualified...</a><br><br>Linux is a platform. Not an application. It hosts applications.<br>This isn\'t Adobe vs. Linux. Adobe can build it\'s sources on Linux with some UI modifications and they can sell the product on Linux. Just like Nero and Maya.<br>Linux is not closed to Photoshop, Final Cut, Quickbooks and AutoCAD.<br><br>Linux as a platform invites Adobe to come and develop applications for it such as other companies have. Once they do Linux will further grow and mature until it is essentially a free and open version of what you perceive windows being today.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9685278">\
	 <div id="dsq-comment-header-9685278" class="dsq-comment-header">\
	 <cite id="dsq-cite-9685278" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9685278">Gene</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9685278" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9685278" class="dsq-comment-message">Chris,<br><br>"How is XCode and cocoa that much better than the latest GTK and Xlib?"<br><br>I have written major applications in both GTK and QT.  You can see my work in many places in GNOME. GTK as a framework may come close to Cocoa in some aspects.  There is nothing close to XCode as an IDE on Linux and Glade can\'t even be compared to Interface Builder.  I wish it could.<br><br>"Have you checked out the all the new freedesktop extensions to Xlib for compositing ect… ?"<br>Yes.  I am working with all of that right now. I am working on some serious apps for creating feature length animated films and am using every conceivable extension and trick to squeeze out the same level of performance, ease of use and sophistication that Mac developers get for free with Quartz and CoreAnimation.<br><br>"What do you think about Cairo?"<br>I love it. Cairo and Pango are great.<br><br>"If Apple is so superior, then why was Safari based on Konqueror, the ugliest Linux browser and KHTML???"<br>I can\'t even begin to answer this, which is more of an editorial posed as a question.<br><br><br>"I like Apple, I’m just saying.<br>BTW, we don’t have time to develop the Dark Energy toolkit right now that extended advanced compositing to GTKmm++, but I can send it to you if you want to work on it."<br>It sounds like you know a lot about using the latest and greatest extensions and tricks with X.  I would love to talk to you more about that.  Thanks!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9685277">\
	 <div id="dsq-comment-header-9685277" class="dsq-comment-header">\
	 <cite id="dsq-cite-9685277" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9685277" href="http://designbyseanmcgee.com/" target="_blank" rel="nofollow">Sean McGee</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9685277" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9685277" class="dsq-comment-message">People need to realize...Ubuntu and other Linux distros are Operating Systems.<br><br>iLife and iTunes and all that other stuff is software.  Apple integrates it into their operating system because Apple develops that software.<br><br>And to those that say that Linux is hard for the mainstream user obviously haven\'t tried Linux for a while.  Pretty much any recent Debian based distro (like the Ubuntu flavors, Dreamlinux, etc.) are very easy to use and migrate to.<br><br>My wife, who knows absolutely nothing about computers, XP or Linux, likes using Linux better than XP.  She says it\'s faster.<br><br>The Linux operating system is also no where near a copy of Windows.  The only things similar on Linux to windows is the Desktop environments.  And even then, they\'re much more similar to Mac\'s desktop environment.<br><br>For those of you that haven\'t used Linux in a while, don\'t comment on what you don\'t know or keep up with.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9685280">\
	 <div id="dsq-comment-header-9685280" class="dsq-comment-header">\
	 <cite id="dsq-cite-9685280" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9685280">dischant</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9685280" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9685280" class="dsq-comment-message">@disenchantedtech:<br><br>"I went to a website recently that asked for a new version of Java. Under Windows I would have received a pop up asking if I want to install it yes / no.<br>On Ubuntu it took me to a site with about 2 pages of installation instructions including a few manual tweaks on various files.<br>Maybe next year"<br><br>Ubuntu comes with a GNU Classpath version of Java.  You want Sun Java (sun-java6-bin and sun-java6-plugin), which is in the universe repository which you manually enable in System-&gt;Administration-&gt;Software Sources.  THis is MUCH better than Windows packaging and updating, trust me, b/c security vulns only need to be updated once because of how apps depend on only one lib instead of each shipping their own, and because apt manages updating _every program_ by itself so you\'ll always have the most secure version.<br><br>BTW, Java is soon to be fully GPL\'d so hopefully Java 7 from Sun will be included directly in Ubuntu Gusty +1.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9685276">\
	 <div id="dsq-comment-header-9685276" class="dsq-comment-header">\
	 <cite id="dsq-cite-9685276" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9685276" href="http://jack-of-all-tradez.blogspot.com/" target="_blank" rel="nofollow">Richard Querin</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9685276" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9685276" class="dsq-comment-message">@seshadri<br><br>"Why? Why hasnt open source with millions of passionate users come up with a better free photo editing software."<br><br>For what 98% of people do with their photos, it already has <a href="http://www.linuxjournal.com/issue/159" rel="nofollow">http://www.linuxjournal.com/issue/159</a> - and there is more than one alternative and they\'re not all free. And while no software is perfect (no, not even Photoshop) there are lots of people improving open-source software all the time. Further again, you\'ll have to explain to me why I should pay $750.00 CDN for a photo editing application when I can get one that does everything I ever need with my digital photos for absolutely nothing.<br><br>I can pull the RAW files off my camera, process them, edit them, upload them, and print them all within Linux, for nothing. No command line, no fuss.<br><br>Maybe the fact that I didn\'t pay a cent for all of this makes it a better system - for me.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9685330">\
	 <div id="dsq-comment-header-9685330" class="dsq-comment-header">\
	 <cite id="dsq-cite-9685330" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9685330" href="http://www.beercosoftware.com/" target="_blank" rel="nofollow">Chris</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9685330" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9685330" class="dsq-comment-message">Gene,<br><br>Have you tried Anjuta 2.2?<br>Glade 3 is now embedded inside Anjuta.<br>What about the embedded forms designer in the newer builds of Monodevelop?<br><br>"es. I am working with all of that right now. I am working on some serious apps for creating feature length animated films and am using every conceivable extension and trick to squeeze out the same level of performance, ease of use and sophistication that Mac developers get for free with Quartz and CoreAnimation."<br><br>Are you a developer on the Cinerella project?<br><a href="http://heroinewarrior.com/cinelerra.php3" rel="nofollow">http://heroinewarrior.com/cinelerra.php3</a><br><br>Or is this hollywood stuff for films like Shrek?<br><a href="http://www.linuxjournal.com/issue/159" rel="nofollow">http://www.linuxjournal.com/issue/159</a><br><br>As for performance, I guess it would help to know if you are drawing and rendering with Xlib or if you are using OGL. That would make all the difference in the world. Animation and polygon drawing with X could be a bit slow I would imagine.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9685275">\
	 <div id="dsq-comment-header-9685275" class="dsq-comment-header">\
	 <cite id="dsq-cite-9685275" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9685275">Gene</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9685275" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9685275" class="dsq-comment-message">Chris,<br><br>Hollywood stuff!  Oh yeah.  PDI/Dreamworks.<br><br>We use both Xlib and OGL.<br><br>Moving to Mono or some other framework isn\'t in the plan as of now.  I\'ll take a look at Anjuta just to be informed.<br><br>Thanks!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9685274">\
	 <div id="dsq-comment-header-9685274" class="dsq-comment-header">\
	 <cite id="dsq-cite-9685274" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9685274" href="http://www.beercosoftware.com/" target="_blank" rel="nofollow">Chris</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9685274" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9685274" class="dsq-comment-message">"every conceivable extension and trick to squeeze out the same level of performance, ease of use and sophistication that Mac developers get for free with Quartz and CoreAnimation."<br><br>By ease of use, I guess you are writing an API.<br>Assuming this is FOSS, can you put a link up of the SVN or CVS so we can take a peek at a snapshot?<br>Did you DOxgenate it?<br><br>Thanks for any info. I would love to try it out if I can.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9685331">\
	 <div id="dsq-comment-header-9685331" class="dsq-comment-header">\
	 <cite id="dsq-cite-9685331" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9685331" href="http://www.beercosoftware.com/" target="_blank" rel="nofollow">Chris</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9685331" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9685331" class="dsq-comment-message">My post timing sucks, I posted right after you.<br><br>"PDI/Dreamworks"<br><br>So are they contributing this great Quartz clone API back to the community or are they keeping it in the vault?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9685273">\
	 <div id="dsq-comment-header-9685273" class="dsq-comment-header">\
	 <cite id="dsq-cite-9685273" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9685273">Gene</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9685273" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9685273" class="dsq-comment-message">Chris,<br><br>Contributing something back would be nice, wouldn\'t it?  I\'ll have to keep you posted on that. Nothing to say right now.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9685332">\
	 <div id="dsq-comment-header-9685332" class="dsq-comment-header">\
	 <cite id="dsq-cite-9685332" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9685332" href="http://www.beercosoftware.com/" target="_blank" rel="nofollow">Chris</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9685332" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9685332" class="dsq-comment-message">Gene,<br><br>If it\'s statically compiled in your binaries, please pull it out and make .a and .so\'s out of the functions and document them.<br><br>I hope PDI/Dreamworks aren\'t jerks about it.<br><br>Just putting out the .so\'s for the quartz-like functions doesn\'t necessarily mean that other studios will instantly be able to capitalize on their work instantly.<br>That type of API can be used for so much.<br><br>I hope you can convince them.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9685272">\
	 <div id="dsq-comment-header-9685272" class="dsq-comment-header">\
	 <cite id="dsq-cite-9685272" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9685272" href="http://thebankwatch.com/" target="_blank" rel="nofollow">Colin Henderson</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9685272" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9685272" class="dsq-comment-message">I installed Xubuntu 2 months ago, and am very happy about capability, stability, and speed.  Its not unusual to run for over a week with no performance hit.  OpenOffce launches literally instantly - zero delay.<br><br>Downside:  lack of support for itunes is about the only gap I have seen.<br><br>PS ... the trigger for me to switch - After 12 years of Windows, I cannot imagine installing Vista.  And I have a core duo fast Thinkpad X60s.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9685271">\
	 <div id="dsq-comment-header-9685271" class="dsq-comment-header">\
	 <cite id="dsq-cite-9685271" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9685271">Gene</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9685271" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9685271" class="dsq-comment-message">Boy, I may have come off sounding like a bummer.<br><br>How could we make 2008 the year of the linux desktop? Is there something to learn from the failure of Eazel?  Are there any good examples of user focused companies in the linux space?  Why do linux companies always have to gravitate toward enterprise or business to survive?  How can we get the same level of control, attention to detail and technical excellence in both the OS and application space that people seem to admire in Apple and perhaps Microsoft?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9685270">\
	 <div id="dsq-comment-header-9685270" class="dsq-comment-header">\
	 <cite id="dsq-cite-9685270" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9685270">kota</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9685270" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9685270" class="dsq-comment-message">I don\'t care either about THE year, but here are the facts: My sister doesn\'t know how to install Windows. Neither Linux. She uses the laptop for simple tasks like web/mail/gtalk, ocassionally uploading photos to Picasa or using Google Earth.<br>She is able to do it on both platforms, but thanks Ubuntu devs because she just CAN\'T break my laptop any more.<br>Oh and Ubuntu it\'s prettier as Robert points out: <a href="http://www.youtube.com/watch?v=abWn4QrlzRI" rel="nofollow">http://www.youtube.com/watch?v=abWn4QrlzRI</a><br><br>If my sister can use it, it\'s a true desktop platform.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9685267">\
	 <div id="dsq-comment-header-9685267" class="dsq-comment-header">\
	 <cite id="dsq-cite-9685267" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9685267">JMC</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9685267" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9685267" class="dsq-comment-message">I love it... "(much nicer 3D switching than even OSX has, for instance). Damn, I thought to myself, it’s time to give Linux another look"<br><br>... because linux had nothing going for it before compiz...<br><br>damn, man.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9685268">\
	 <div id="dsq-comment-header-9685268" class="dsq-comment-header">\
	 <cite id="dsq-cite-9685268" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9685268" href="http://scobleizer.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9685268" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9685268" class="dsq-comment-message">JMC: to get users like me to switch you\'ve got to offer them something more. A better experience, etc. So far Linux has absolutely failed to do that. Heck, look at the comments above, many of which are from hard core Linux advocates.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9685266">\
	 <div id="dsq-comment-header-9685266" class="dsq-comment-header">\
	 <cite id="dsq-cite-9685266" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9685266" href="http://jack-of-all-tradez.blogspot.com/" target="_blank" rel="nofollow">Richard Querin</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9685266" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9685266" class="dsq-comment-message">@robert<br>"to get users like me to switch you’ve got to offer them something more. A better experience, etc. So far Linux has absolutely failed to do that."<br><br>So doing everything I need it to do for several hundred odd bucks cheaper is absolute failure. Man, you are tough to please. But then again, maybe to you several hundred bucks is nothin\'.  ;)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9685265">\
	 <div id="dsq-comment-header-9685265" class="dsq-comment-header">\
	 <cite id="dsq-cite-9685265" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9685265" href="http://www.beercosoftware.com/" target="_blank" rel="nofollow">Chris</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9685265" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9685265" class="dsq-comment-message">@Colin<br><br>"Downside: lack of support for itunes is about the only gap I have seen."<br><br>yum install amarok<br><br>Amarok will synch to your ipod or music device and pretty much take the place of iTunes completely. Some even say it\'s better than iTunes. It works fine for me.<br><br><a href="http://amarok.kde.org" rel="nofollow">http://amarok.kde.org</a><br><br>Give Amarok a try and see if you miss iTunes.<br><br>"… because linux had nothing going for it before compiz…"<br><br>Beryl is much nicer for now. I dunno if that will stay the same though, because they are constantly battling against each other.<br><br>"Why do linux companies always have to gravitate toward enterprise or business to survive?"<br><br><a href="http://www.newzbin.com/browse/cat/p/apps/" rel="nofollow">http://www.newzbin.com/browse/cat/p/apps/</a><br><a href="http://thepiratebay.org/browse/302" rel="nofollow">http://thepiratebay.org/browse/302</a><br><a href="http://thepiratebay.org/browse/301" rel="nofollow">http://thepiratebay.org/browse/301</a><br><br>Do we really want to repeat this mess for Linux?<br>Nero has been doing it right. Make a commercial Linux version and sell it for 4 times less than the other platforms. That keeps people happy.<br>The same thing happened with CDs in stores. They lowered the price and people started buying again.<br>Companies producing commercial software have failed because they tried to transpose their Windows approach or Mac approach onto Linux and it doesn\'t work too well.<br><br>On the other hand plenty of companies are making a very good living off of Linux and FOSS customization. Where FOSS and Linux is the solution to an web, engineering, retail or manufacturing problem. IBM being the shining beacon of our Industry.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9685264">\
	 <div id="dsq-comment-header-9685264" class="dsq-comment-header">\
	 <cite id="dsq-cite-9685264" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9685264" href="http://www.beercosoftware.com/" target="_blank" rel="nofollow">Chris</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9685264" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9685264" class="dsq-comment-message">2 myths I also want to debunk.<br>The first is that piracy is obscure and that most people are good honest computer software buying users that own Windows and Mac.<br><a href="http://www.alexa.com/data/details/traffic_details?url=thepiratebay.org/" rel="nofollow">http://www.alexa.com/data/details/traffic_detai...</a><br><a href="http://ThePirateBay.org" rel="nofollow">ThePirateBay.org</a> is 264 on the entire internet and it\'s traffic is rising by the hour.<br>Most people are bit torrent stealing software pirates, who\'s only experience with photoshop and adobe products involves keygens and serialz with a z.<br><br>Linux so far has managed to avoid this type of consumer.<br><br>2nd, No major brands develop Linux software.<br><br>Though proprietary and free, Google is fast becoming one of the major closed source Linux software companies.<br>Desktop Search<br><a href="http://desktop.google.com/linux/" rel="nofollow">http://desktop.google.com/linux/</a><br>Picasa<br><a href="http://picasa.google.com/linux/" rel="nofollow">http://picasa.google.com/linux/</a><br>Google Earth<br><a href="http://earth.google.com/download-earth.html" rel="nofollow">http://earth.google.com/download-earth.html</a><br><br>And they are said to be developing many more closed source Linux software titles as binary RPMs. Annoying to Stallman, but useful for the rest of us. OK with Linus.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9685263">\
	 <div id="dsq-comment-header-9685263" class="dsq-comment-header">\
	 <cite id="dsq-cite-9685263" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9685263" href="http://wernerhabel.blogspot.com/" target="_blank" rel="nofollow">Werner Habel</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9685263" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9685263" class="dsq-comment-message">My year of Linux on the desktop has been 2000 :-)<br><br>But then it was freedom as an everyday labour, toil and strife.<br><br>The difference to Linux in 2007 is, that the freedom Linux offers, is becoming more and more and faster and faster a commodity and a convenience for its own best.<br><br>Amarok is a very good example for this<br><a href="http://amarok.kde.org" rel="nofollow">http://amarok.kde.org</a><br><br>as is KDE in general also as GNOME.<br><a href="http://kde.org/whatiskde/" rel="nofollow">http://kde.org/whatiskde/</a><br><a href="http://www.gnome.org/about/" rel="nofollow">http://www.gnome.org/about/</a><br><br>Beryl and Compiz have recently joined forces again for Compiz Fusion driving the whole free 3D desktop idea even stronger.<br><a href="http://www.opencompositing.org/" rel="nofollow">http://www.opencompositing.org/</a><br><br>Getting people to switch to Linux is less and less a matter of hunting down bugs and more a question of getting the word out.<br><br>Thank you very much Robert, for having made that just a great bit easier! ;-D<br><br>Best Regards<br><br>Werner</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9685262">\
	 <div id="dsq-comment-header-9685262" class="dsq-comment-header">\
	 <cite id="dsq-cite-9685262" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9685262" href="http://hauntedhouse.wordpress.com/" target="_blank" rel="nofollow">Gasten</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9685262" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9685262" class="dsq-comment-message">My little sister (16 years old, and have no interest in computers what so ever - except designing homepages and LJ-avatars) switched to linux and have never looked back at windows. If she can, you can too.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9685261">\
	 <div id="dsq-comment-header-9685261" class="dsq-comment-header">\
	 <cite id="dsq-cite-9685261" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9685261">oomu</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9685261" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9685261" class="dsq-comment-message">ubuntu has a music player which manage the ipod.<br><br>in an itune like style.  very nice.<br><br>(you can drop music in the ipod AND DRAG from it ! )<br><br><br>so many things marvellous to say about Ubuntu Linux.<br><br>but still, I\'m very happy with mac os X and my mac.   but I could change my mind in a few month, even with leopard.<br><br>there are exciting developments in linux desktops these days.<br><br>the interface is more and more nice and polished and _simple_.  now we need Great Desktop Applications.  (free, commercial,  libre, closed, open, whatever , I want them all).</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9685260">\
	 <div id="dsq-comment-header-9685260" class="dsq-comment-header">\
	 <cite id="dsq-cite-9685260" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9685260">oomu</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9685260" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9685260" class="dsq-comment-message">&gt;Heck, look at the comments above, many of which are from hard core Linux advocates<br><br>hey!  I\'m not "hardcore",  I\'m soft-heart.   and I work mostly on macintosh.  please forget ALL yours olds bad linux "friends" and please, be open.<br><br><br>Linux did not "failed" to have a simple interface before "compiz" (of course not, the interface is Gnome).  but linux failed to have MANY  simple and integrated  APPLICATIONS for all the common needs of people.<br><br>the problem is not "linux"<br><br>linux is _Very_ fine.   put it on a good computer and it\'s rock solid, easy and all.<br><br>Applications are the problems.  we need  More apps, more more more.  stuff pretty as Delicious Library,    easy money stuff,  a kitchen receipt  program ,  stuff as good as Omnigraffle, a better openoffice (better gnome integration) ...<br><br>it\'s why os X is still a lot better :  the _applications_</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9685333">\
	 <div id="dsq-comment-header-9685333" class="dsq-comment-header">\
	 <cite id="dsq-cite-9685333" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9685333">Joergen Ramskov</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9685333" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9685333" class="dsq-comment-message">A couple of comments.<br><br>Year of Linux on the desktop: I don\'t think there will ever be a year where you will say "this is the year Linux adoption really took off". Use of Linux on the desktop has been rising for years and will continue to rise in the comming years.<br><br>Hardware: No OS has supported more hardware and platforms than Linux does. There are stuff that doesn\'t work, one of the biggest problems have been Wifi but the situation is now much improved. Another problem is drivers for graphics cards from ATI and NVIDIA. They both refuse to work with the open source community to create open source drivers, which is sad. Intel is doing really well in that regard. If you got some hardware that doesn\'t work with Linux, the right place to complain is to the hardware manufacturer and I hope you do complain when you experience any hardware that doesn\'t work with Linux.  If your hardware doesn\'t work with Vista, do you complain to Microsoft about it? No you don\'t. I recall that there has stability problems with NVIDIA\'s graphics drivers for Vista and everyone critisized NVIDIA, but if it is Linux with a driver problem, then for some very strange reason it is Linux that is being critisized. I have honestly never understood that.<br><br>Nero: Whoever it was that mentioned Nero should take a look at K3B - it is an amazing application for burning CD\'s/DVD\'s.<br><br>Development rate of the desktop: I would suggest you take a look at KDE 4 which is under development currently with the first release planned for october this year. Saying that there isn\'t any innovation or that the development rate is slow is certainly not true. It sounds more like a matter of not following the rappid progress that is happening. Of course, copying other desktops is being done, but then again, look at Vista and how many years it has taken them to release that. Is it more impressive than OS X? Some say yes, others say no. I have little experience with either, so I can\'t comment, but the stuff I see happening in the open source desktops is not exactly stone age technology compared to them ;)<br><br>Chris: Regarding Safari, it wasn\'t based on Konqueror. It was based on KHTML, the web engine. It\'s now also used on several Nokia phones and it works quite nicely too I must say. Safari is based on KHTML because it is a pretty darn nice engine and it is getting better all the time and it sounds like you don\'t really know much about it or KDE in general. Not that I do either, but I do know the difference between Konqueror and KHTML :)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9685259">\
	 <div id="dsq-comment-header-9685259" class="dsq-comment-header">\
	 <cite id="dsq-cite-9685259" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9685259" href="http://www.beercosoftware.com/" target="_blank" rel="nofollow">Chris</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9685259" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9685259" class="dsq-comment-message">"getting better all the time and it sounds like you don’t really know much about it or KDE in general."<br><br>I haven\'t used KDE since 2001 or something.<br>But I do use apps that use the QT libs like Amarok for example, and qdvdauthor.<br><br>As for the difference between KHMTL and Konqueror, I believe Konqueror was the only browser that actually used it, so the difference is negligible.<br>Remember Galeon that used gtkmozembed?<br>I don\'t remember ever seeing one that used embedded KHTML before Safari.<br><br>Of course the UI is going to be different because they developed those APIs on top of their display server themselves. The drawing and parsing engine is still KHTML/Konqueror. I heard the KDE developers had a lot of problems with Apple as far as re-contributing the forked code as they were supposed to.<br><br>It\'s only a matter of time now until Adobe and other companies walk the plank off the pirate ship platforms and release Linux products. Whether they are priced to sell or not remains to be seen.<br><br>A platform free of piracy should be a 3rd party software company\'s dream platform, but they are too short sited to be able to realize it.<br>The revenue Linux generates from FOSS customization and Linux software application in manufacturing, web dev, retail, and systems management goes into the Billions with a B.<br>Linux has always been a customizable software system for use in specific software driven solutions.<br><br>Only in the past year or 2 have companies like Red Hat and Canonical packaged it up in the appropriate format for companies like Dell to be able to effectively use it as a premade stable Desktop solution.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9685258">\
	 <div id="dsq-comment-header-9685258" class="dsq-comment-header">\
	 <cite id="dsq-cite-9685258" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9685258" href="http://www.ozlady.com/" target="_blank" rel="nofollow">ozlady</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9685258" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9685258" class="dsq-comment-message">oomu - here, here - you got that right, pal!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9685257">\
	 <div id="dsq-comment-header-9685257" class="dsq-comment-header">\
	 <cite id="dsq-cite-9685257" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9685257">Joergen Ramskov</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9685257" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9685257" class="dsq-comment-message">#76: "I haven’t used KDE since 2001 or something."<br><br>That\'s 5-6 years ago! KDE 3 wasn\'t released until April 2002. KDE improved A LOT since then and even though it is still alpha, I will already highly recommend you taking a look at KDE 4 when it is released later this year.<br><br>Also, you can expect various KDE software to be available on Windows too (and OS X) since QT4 is dual licensed under the GPL for Windows too (that wasn\'t the case for previous versions of QT).<br><br>You are right that there has been problems with Apple not contributing back their changes, but that has been (mostly) solved now. One of the reasons Apple choose KHTML (and KJS) over Gecko (the Mozilla engine) was that KHTML is a much smaller codebase.<br><br>KHTML is in quite widespread use today considering it is used in Safari (which is on the iPhone too of course) and in Nokias S60 series phones. And Safari is available for Windows too these days (still beta though).</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9685256">\
	 <div id="dsq-comment-header-9685256" class="dsq-comment-header">\
	 <cite id="dsq-cite-9685256" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9685256" href="http://www.midspot.com/" target="_blank" rel="nofollow">Jon</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9685256" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9685256" class="dsq-comment-message">I\'ve been using Ubuntu for over a year now.<br><br>Only reason I ever use Windows is to use QuickBooks for my business and my goal is to move away from that also next year.<br><br>I\'ve used Windows, Mac, and Linux and, sorry to say Robert, but Linux is king!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9685334">\
	 <div id="dsq-comment-header-9685334" class="dsq-comment-header">\
	 <cite id="dsq-cite-9685334" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9685334">Julio Colon</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9685334" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9685334" class="dsq-comment-message">Ubuntu has over come, as you mentioned, the uglyness of linux, it does come pack to give you everything you need. i installed on two laptops, Dell and Toshiba. on my toshiba it installed flawlesly, however i wish i could say the same about Dell. it took me almost a month of researching and tweaking just to get the wireless working on it. but overall i love it!!!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9685255">\
	 <div id="dsq-comment-header-9685255" class="dsq-comment-header">\
	 <cite id="dsq-cite-9685255" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9685255">tomonzo</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9685255" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9685255" class="dsq-comment-message">I\'ve switced to Ubuntu 3 days ago. It\'s taking off.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9685323">\
	 <div id="dsq-comment-header-9685323" class="dsq-comment-header">\
	 <cite id="dsq-cite-9685323" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9685323">Michael Shores</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9685323" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9685323" class="dsq-comment-message">I have been in IT for more than 30 years.  I have been waiting for a Linux distro that is ready for the "masses" for a few years.  I have been running Suse 10 on a work notebook for more than a year and it was "close, but no cigar".  I loaded Ubuntu FF on a system a couple of month ago and was immediately impressed.  I ordered a Dell notebook the first day the started selling, but bailed after they kept pushing back delivery and ordered a notebook from System 76.  So far, so good except for the wimpy built in speakers.  I would migrate a non-geek from XP to Ubuntu before I would subject them to Vista.  It\'s not perfect, but it is good enough and getting better instead of worse.  I live in a rural area where a lot of folks are still running \'95, \'98 and [shutter] ME.  When they ask for advice when their systems finally die I will be recommending systems with Ubuntu pre-loaded.<br><br>    Will Linux ever be a Microsoft killer?  Probably not.  But it will become a significant player for home users and small businesses on the desktop.  I suspect that education is another market that is ripe for a cheaper alternative than MS.<br><br>    BTW to the Mac users who would never use a Linux system, don\'t look under the hood.  You might be surprised at what\'s there.  It seems that the Mac OS is really just a GUI these days.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9685324">\
	 <div id="dsq-comment-header-9685324" class="dsq-comment-header">\
	 <cite id="dsq-cite-9685324" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9685324" href="http://www.secureyourtrademark.com/" target="_blank" rel="nofollow">trademark registration</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9685324" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9685324" class="dsq-comment-message">Linux is becoming very popular these days. A friend of mine has Linux on his laptop, as well as Windows XP. I don\'t think Linux will overcome Windows anytime soon, but who knows how things will go with Ubuntu.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9685335">\
	 <div id="dsq-comment-header-9685335" class="dsq-comment-header">\
	 <cite id="dsq-cite-9685335" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9685335">John Jamieson</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9685335" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9685335" class="dsq-comment-message">Repeating others, there will never be a year of Linux for everyone, it is like a large freight train that takes a long time to get rolling, and everyone will notice it at a differnt time.(the majority of the world will use linux in handheld devices first, not the desktop)<br><br>I have used Linux some since 1999, but it was never ready for ME to switch over my primary PC\'s, until the last Mandriva release (2008).  I have only used OS-X once in the last six months, and only use windows once in a while.<br><br>And talk about a nice 3d desktop that takes very little power... Yep, I am talking about beryl/compiz fusion... sweet.(makes the others (ms,appl) look so dated)<br><br>Yes, linux may be behind in some areas (unified experience etc), but at the pace it is progressing, I don\'t see how the proprietary vendors can keep up.<br><br>Like another poster, I am a msdn subscriber that has all the disks and keys for everything MS makes(other than windows home server!)... but, what a pain that is!  When I install Mandriva, everything just works, it installs a ton of good free software, and I don\'t get insulted by microsoft checking to see if I am a pirate every time I turn around.<br><br>I guess 2007 was the year of linux on the desktop for me, and I aint going back.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9685325">\
	 <div id="dsq-comment-header-9685325" class="dsq-comment-header">\
	 <cite id="dsq-cite-9685325" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9685325">Tristan</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9685325" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9685325" class="dsq-comment-message">I used to be a very happy vista user, but then I got curious and tried openSUSE 10.3, and I was hooked. but now I\'ve switched to Sabayon Linux 3.4f.... which in my opinion is a potential vista killer.<br><br>check it out:<br><br><a href="http://www.sabayonlinux.org" rel="nofollow">www.sabayonlinux.org</a><br><br>WARNING: SABAYON IS BASED OFF OF GENTOO LINUX AND I REALLY DON\'T RECOMMEND IT FOR A FIRST DISTRO. YOU HAVE BEEN WARNED.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9685326">\
	 <div id="dsq-comment-header-9685326" class="dsq-comment-header">\
	 <cite id="dsq-cite-9685326" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9685326" href="http://dnbl.wordpress.com/" target="_blank" rel="nofollow">Daniel</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9685326" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9685326" class="dsq-comment-message">I prefer Ubuntu.<br>I dunno why the people still use Windows ;S</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=is_2008_finally_going_to_be_8220year_of_linux_on_the_desktop8221&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);
			}
		}
	});
}

})();




