<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/rss2full.xsl" type="text/xsl" media="screen"?><?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/itemcontent.css" type="text/css" media="screen"?><!-- generator="wordpress/2.2" --><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Peer Pressure</title>
	<link>http://www.allpeers.com/blog</link>
	<description>The official AllPeers blog</description>
	<pubDate>Tue, 15 Apr 2008 21:42:38 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.2</generator>
	<language>en</language>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/allpeers" type="application/rss+xml" /><item>
		<title>To Err is Human, Thorough Error Reporting Divine</title>
		<link>http://feeds.feedburner.com/~r/allpeers/~3/270891706/</link>
		<comments>http://www.allpeers.com/blog/2008/04/15/to-err-is-human-thorough-error-reporting-divine/#comments</comments>
		<pubDate>Tue, 15 Apr 2008 18:37:29 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
		
		<category><![CDATA[Firefox]]></category>

		<guid isPermaLink="false">http://www.allpeers.com/blog/2008/04/15/to-err-is-human-thorough-error-reporting-divine/</guid>
		<description><![CDATA[Update: Eric Shepherd already has some great documentation of the new JavaScript error reporting regime up on MDC.
Update: Note also that most errors will be reported by default, so the pref only turns on a few additional cases. Read the MDC article for full details. 
I&#8217;ve been doing a lot of JavaScript development as part [...]]]></description>
			<content:encoded><![CDATA[<p><em><strong>Update:</strong> Eric Shepherd already has some <a href="http://developer.mozilla.org/en/docs/Exception_logging_in_JavaScript">great documentation of the new JavaScript error reporting regime</a> up on MDC.</p>
<p><strong>Update:</strong> Note also that most errors will be reported by default, so the pref only turns on a few additional cases. Read the MDC article for full details.</em> </p>
<p>I&#8217;ve been doing a lot of JavaScript development as part of my work on Prism, and I noticed a few weeks ago that a lot of errors I was used to seeing in the console weren&#8217;t showing up anymore. Unsure of the cause, I first took the expedient route of sprinkling my code with dump() statements whenever I had to track down a problem. This is tedious and time-consuming, however, and after a while I got fed up and (with Shaver&#8217;s prodding) spent some time trawling through the JS error reporting code trying to figure out what had broken.</p>
<p>Luckily for me, Sergey Yanovich noticed my incessant whinging on IRC and pointed me at <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=393627">bug 393627</a>. It seems that some changes had been made to a JavaScript component that threw an exception that was expected, caught and managed in C++ code. Nonetheless, an error was being displayed in the console by XPConnect, so a patch was committed to suppress reporting of exceptions in these circumstances. Unfortunately this had the side effect of turning off useful and desirable reporting for a huge swath of errors.</p>
<p>A few weeks and 21871 bugs later found us embroiled in a heated discussion in the comments of <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=415498">bug 415498</a>. The problem, it transpires, is a tricky one, as Ben Turner <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=415498#c40">explained</a>:</p>
<blockquote><p>
Ok, so here&#8217;s our basic problem: Some folks think that throwing exceptions is a perfectly valid way to communicate with C++, others try to avoid any unhandled exceptions and want to know if any make it back to C++. There is no way to consolidate those opinions, and we&#8217;ve argued back and forth about it many times already. A functional Components.resultCode might make this situation better, but that&#8217;s been broken for far too long to hope we&#8217;ll see it fixed in the next week.
</p></blockquote>
<p>Ben&#8217;s solution was to implement a preference, <em>dom.report_all_js_exceptions</em>, that turns on the verbose error reporting so vital to JavaScript developers. So even if you just skimmed the last few paragraphs, please pay attention because <strong>if you code in JavaScript in Firefox 3 you want to know this</strong>. Grab yourself a recent trunk (Ben says the fix landed last Wednesday or so). Set that preference. Watch your error reporting woes vanish before your eyes. There should be real documentation on this soon, but in the meantime hopefully this information will be of use to some.</p>
<!-- Social Bookmarks BEGIN --><div class="social_bookmark"><em>Bookmark to:</em><br /><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http://www.allpeers.com/blog/2008/04/15/to-err-is-human-thorough-error-reporting-divine/&amp;title=To+Err+is+Human%2C+Thorough+Error+Reporting+Divine" title="Add 'To Err is Human, Thorough Error Reporting Divine' to Del.icio.us"><img src="http://www.allpeers.com/blog/wp-content/plugins/social_bookmarks/delicious.png" border="0" title="Add 'To Err is Human, Thorough Error Reporting Divine' to Del.icio.us" alt="Add 'To Err is Human, Thorough Error Reporting Divine' to Del.icio.us" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://www.allpeers.com/blog/2008/04/15/to-err-is-human-thorough-error-reporting-divine/&amp;title=To+Err+is+Human%2C+Thorough+Error+Reporting+Divine" title="Add 'To Err is Human, Thorough Error Reporting Divine' to digg"><img src="http://www.allpeers.com/blog/wp-content/plugins/social_bookmarks/digg.png" border="0" title="Add 'To Err is Human, Thorough Error Reporting Divine' to digg" alt="Add 'To Err is Human, Thorough Error Reporting Divine' to digg" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://myweb2.search.yahoo.com/myresults/bookmarklet?u=http://www.allpeers.com/blog/2008/04/15/to-err-is-human-thorough-error-reporting-divine/&amp;t=To+Err+is+Human%2C+Thorough+Error+Reporting+Divine" title="Add 'To Err is Human, Thorough Error Reporting Divine' to Yahoo My Web"><img src="http://www.allpeers.com/blog/wp-content/plugins/social_bookmarks/yahoo_myweb.png" border="0" title="Add 'To Err is Human, Thorough Error Reporting Divine' to Yahoo My Web" alt="Add 'To Err is Human, Thorough Error Reporting Divine' to Yahoo My Web" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.rojo.com/add-subscription/?resource=http://www.allpeers.com/blog/2008/04/15/to-err-is-human-thorough-error-reporting-divine/" title="Add 'To Err is Human, Thorough Error Reporting Divine' to Rojo"><img src="http://www.allpeers.com/blog/wp-content/plugins/social_bookmarks/rojo.png" border="0" title="Add 'To Err is Human, Thorough Error Reporting Divine' to Rojo" alt="Add 'To Err is Human, Thorough Error Reporting Divine' to Rojo" /></a></div>
<!-- Social Bookmarks END --><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/allpeers?a=BTtbfHg"><img src="http://feeds.feedburner.com/~f/allpeers?i=BTtbfHg" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/allpeers?a=i8z9jrg"><img src="http://feeds.feedburner.com/~f/allpeers?i=i8z9jrg" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/allpeers?a=H36AygG"><img src="http://feeds.feedburner.com/~f/allpeers?i=H36AygG" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.allpeers.com/blog/2008/04/15/to-err-is-human-thorough-error-reporting-divine/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.allpeers.com/blog/2008/04/15/to-err-is-human-thorough-error-reporting-divine/</feedburner:origLink></item>
		<item>
		<title>Prism, AIR and TechCrunch Groupies</title>
		<link>http://feeds.feedburner.com/~r/allpeers/~3/256215675/</link>
		<comments>http://www.allpeers.com/blog/2008/03/22/prism-air-and-techcrunch-groupies/#comments</comments>
		<pubDate>Sat, 22 Mar 2008 21:30:39 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
		
		<category><![CDATA[Firefox]]></category>

		<category><![CDATA[World Wide Web]]></category>

		<category><![CDATA[Software Industry]]></category>

		<guid isPermaLink="false">http://www.allpeers.com/blog/2008/03/22/prism-air-and-techcrunch-groupies/</guid>
		<description><![CDATA[TechCrunch is running a guest post of mine about the exciting new field of site-specific browsers. Needless to say, it&#8217;s a honor to be on TechCrunch, and I hope my article will help to increase awareness of what SSBs are and why they&#8217;re important. Personally I&#8217;m convinced that they represent the future of web apps.
I [...]]]></description>
			<content:encoded><![CDATA[<p>TechCrunch is running a <a href="http://www.techcrunch.com/2008/03/22/bridging-desktop-and-web-applications-a-look-at-mozilla-prism/">guest post of mine</a> about the exciting new field of site-specific browsers. Needless to say, it&#8217;s a honor to be on TechCrunch, and I hope my article will help to increase awareness of what SSBs are and why they&#8217;re important. Personally I&#8217;m convinced that they represent <a href="http://www.allpeers.com/blog/2007/08/28/mozpad-and-webrunner/">the future of web apps</a>.</p>
<p>I haven&#8217;t seen any sign yet of the &#8220;gaggles of groupies&#8221; that Mike promises in the post&#8217;s comments, but I&#8217;m sneaking out the back door to pick up a sombrero and some wraparound sunglasses, just in case.</p>
<!-- Social Bookmarks BEGIN --><div class="social_bookmark"><em>Bookmark to:</em><br /><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http://www.allpeers.com/blog/2008/03/22/prism-air-and-techcrunch-groupies/&amp;title=Prism%2C+AIR+and+TechCrunch+Groupies" title="Add 'Prism, AIR and TechCrunch Groupies' to Del.icio.us"><img src="http://www.allpeers.com/blog/wp-content/plugins/social_bookmarks/delicious.png" border="0" title="Add 'Prism, AIR and TechCrunch Groupies' to Del.icio.us" alt="Add 'Prism, AIR and TechCrunch Groupies' to Del.icio.us" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://www.allpeers.com/blog/2008/03/22/prism-air-and-techcrunch-groupies/&amp;title=Prism%2C+AIR+and+TechCrunch+Groupies" title="Add 'Prism, AIR and TechCrunch Groupies' to digg"><img src="http://www.allpeers.com/blog/wp-content/plugins/social_bookmarks/digg.png" border="0" title="Add 'Prism, AIR and TechCrunch Groupies' to digg" alt="Add 'Prism, AIR and TechCrunch Groupies' to digg" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://myweb2.search.yahoo.com/myresults/bookmarklet?u=http://www.allpeers.com/blog/2008/03/22/prism-air-and-techcrunch-groupies/&amp;t=Prism%2C+AIR+and+TechCrunch+Groupies" title="Add 'Prism, AIR and TechCrunch Groupies' to Yahoo My Web"><img src="http://www.allpeers.com/blog/wp-content/plugins/social_bookmarks/yahoo_myweb.png" border="0" title="Add 'Prism, AIR and TechCrunch Groupies' to Yahoo My Web" alt="Add 'Prism, AIR and TechCrunch Groupies' to Yahoo My Web" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.rojo.com/add-subscription/?resource=http://www.allpeers.com/blog/2008/03/22/prism-air-and-techcrunch-groupies/" title="Add 'Prism, AIR and TechCrunch Groupies' to Rojo"><img src="http://www.allpeers.com/blog/wp-content/plugins/social_bookmarks/rojo.png" border="0" title="Add 'Prism, AIR and TechCrunch Groupies' to Rojo" alt="Add 'Prism, AIR and TechCrunch Groupies' to Rojo" /></a></div>
<!-- Social Bookmarks END --><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/allpeers?a=MT9X1Sf"><img src="http://feeds.feedburner.com/~f/allpeers?i=MT9X1Sf" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/allpeers?a=M5rY2vf"><img src="http://feeds.feedburner.com/~f/allpeers?i=M5rY2vf" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/allpeers?a=KgX01nF"><img src="http://feeds.feedburner.com/~f/allpeers?i=KgX01nF" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.allpeers.com/blog/2008/03/22/prism-air-and-techcrunch-groupies/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.allpeers.com/blog/2008/03/22/prism-air-and-techcrunch-groupies/</feedburner:origLink></item>
		<item>
		<title>Can Your Trust Your Software?</title>
		<link>http://feeds.feedburner.com/~r/allpeers/~3/248862957/</link>
		<comments>http://www.allpeers.com/blog/2008/03/10/can-your-trust-your-software/#comments</comments>
		<pubDate>Mon, 10 Mar 2008 13:11:58 +0000</pubDate>
		<dc:creator>Cedric</dc:creator>
		
		<category><![CDATA[AllPeers]]></category>

		<category><![CDATA[Software Development]]></category>

		<category><![CDATA[Software Industry]]></category>

		<guid isPermaLink="false">http://www.allpeers.com/blog/2008/03/10/can-your-trust-your-software/</guid>
		<description><![CDATA[I&#8217;ve just come across this horror story about G-Archiver, a windows shareware which backs up your gmail account to your local hard drive but also emails your username and password to the creator!
When we initially launched AllPeers, the client was not open-source but we always said our goal was to do it. At the time, [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve just come across this horror story about G-Archiver, a windows shareware which backs up your gmail account to your local hard drive but also <a href="http://www.codinghorror.com/blog/archives/001072.html">emails your username and password to the creator</a>!</p>
<p>When we initially launched AllPeers, the client was not open-source but we always said our goal was to do it. At the time, the source code was not clean enough to open but we knew this was the only way for us to prove we were genuine and not planning on spying on our users.</p>
<p>When we finally opened the code, some people saw it as a desperate move on our part. It was not. It was a way for us to be transparent and to say &#8220;if you don&#8217;t trust us, just look at our code&#8221;.</p>
<p>There are a lot of advantages about developing open-source software but trust and security are certainly high on the list. </p>
<p>Now forget about open-source software and think about all these websites who ask you for your login credentials in order to &#8220;import your contacts&#8221;. Can you really trust them and if so how? How paranoiac are you about this? I usually tend to trust the sites but is a nice design and a groovy name enough to earn my trust when it comes to my email credentials?</p>
<!-- Social Bookmarks BEGIN --><div class="social_bookmark"><em>Bookmark to:</em><br /><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http://www.allpeers.com/blog/2008/03/10/can-your-trust-your-software/&amp;title=Can+Your+Trust+Your+Software%3F" title="Add 'Can Your Trust Your Software?' to Del.icio.us"><img src="http://www.allpeers.com/blog/wp-content/plugins/social_bookmarks/delicious.png" border="0" title="Add 'Can Your Trust Your Software?' to Del.icio.us" alt="Add 'Can Your Trust Your Software?' to Del.icio.us" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://www.allpeers.com/blog/2008/03/10/can-your-trust-your-software/&amp;title=Can+Your+Trust+Your+Software%3F" title="Add 'Can Your Trust Your Software?' to digg"><img src="http://www.allpeers.com/blog/wp-content/plugins/social_bookmarks/digg.png" border="0" title="Add 'Can Your Trust Your Software?' to digg" alt="Add 'Can Your Trust Your Software?' to digg" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://myweb2.search.yahoo.com/myresults/bookmarklet?u=http://www.allpeers.com/blog/2008/03/10/can-your-trust-your-software/&amp;t=Can+Your+Trust+Your+Software%3F" title="Add 'Can Your Trust Your Software?' to Yahoo My Web"><img src="http://www.allpeers.com/blog/wp-content/plugins/social_bookmarks/yahoo_myweb.png" border="0" title="Add 'Can Your Trust Your Software?' to Yahoo My Web" alt="Add 'Can Your Trust Your Software?' to Yahoo My Web" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.rojo.com/add-subscription/?resource=http://www.allpeers.com/blog/2008/03/10/can-your-trust-your-software/" title="Add 'Can Your Trust Your Software?' to Rojo"><img src="http://www.allpeers.com/blog/wp-content/plugins/social_bookmarks/rojo.png" border="0" title="Add 'Can Your Trust Your Software?' to Rojo" alt="Add 'Can Your Trust Your Software?' to Rojo" /></a></div>
<!-- Social Bookmarks END --><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/allpeers?a=9ReYQif"><img src="http://feeds.feedburner.com/~f/allpeers?i=9ReYQif" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/allpeers?a=iFyS1Qf"><img src="http://feeds.feedburner.com/~f/allpeers?i=iFyS1Qf" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/allpeers?a=DY6TzbF"><img src="http://feeds.feedburner.com/~f/allpeers?i=DY6TzbF" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.allpeers.com/blog/2008/03/10/can-your-trust-your-software/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.allpeers.com/blog/2008/03/10/can-your-trust-your-software/</feedburner:origLink></item>
		<item>
		<title>Are Europeans Too Lazy to be Software Entrepreneurs?</title>
		<link>http://feeds.feedburner.com/~r/allpeers/~3/248276692/</link>
		<comments>http://www.allpeers.com/blog/2008/03/09/are-europeans-too-lazy-to-be-software-entrepreneurs/#comments</comments>
		<pubDate>Sun, 09 Mar 2008 09:54:46 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
		
		<category><![CDATA[Europe]]></category>

		<category><![CDATA[Software Development]]></category>

		<category><![CDATA[Software Industry]]></category>

		<guid isPermaLink="false">http://www.allpeers.com/blog/2008/03/09/are-europeans-too-lazy-to-be-software-entrepreneurs/</guid>
		<description><![CDATA[Mahalo founder Jason Calacanis caused a blogostorm with his candid treatise on making every startup dollar count. The controversy is not especially surprising when his list of tips for thrifty includes such items as &#8220;fire people who are not workaholics&#8221; (which provoked so much ire that he felt compelled to change it to &#8220;fire people [...]]]></description>
			<content:encoded><![CDATA[<p>Mahalo founder Jason Calacanis caused a blogostorm with his candid treatise on <a href="http://www.calacanis.com/2008/03/07/how-to-save-money-running-a-startup-17-really-good-tips/">making every startup dollar count</a>. The controversy is not especially surprising when his list of tips for thrifty includes such items as &#8220;fire people who are not workaholics&#8221; (which provoked so much ire that he felt compelled to change it to &#8220;fire people who don&#8217;t love their work&#8221;). Some went as far as to label Calacanis a &#8220;<a href="http://stilgherrian.com/human-nature/treat_staff/">prick</a>&#8220;, with the obligatory observation that they&#8217;ve never heard or his company, but love to death the products of <a href="http://www.37signals.com/svn/posts/893-workplace-experiments">cooler companies</a> who pay for their employees to go backpacking.</p>
<p>I&#8217;ve seen both approaches in action in my day. More than one startup founder has told me that they keep the hours reasonable because they &#8220;don&#8217;t want to burn out their staff.&#8221; Sorry, but what I heard was &#8220;I&#8217;m too lazy to work long hours so I can&#8217;t expect my staff to.&#8221; Of course, it depends to some degree on your ambitions. If your goal is to earn a good living with a bunch of smart, like-minded folks tackling some not-too-intractable problem, with plenty of free time to <a href="http://www.youtube.com/watch?v=OrhwHvK6Yvw">bungee jump from helicopters</a> or make <a href="http://underground.zork.net/">erotic origami</a>, that is doable. But if you want to create a world-beating company, Mike Arrington <a href="http://www.techcrunch.com/2008/03/08/startups-must-hire-the-right-people-and-watch-every-penny/">has it nailed</a>: your odds of succeeding are long enough without four-day weeks and ambling trips to the local juice bar five times a day.</p>
<p>Besides which, software geeks don&#8217;t have the same view of life/work balance as most people. In their response to Jason&#8217;s post, 37signals <a href="http://www.37signals.com/svn/posts/902-fire-the-workaholics">explain</a> that:</p>
<blockquote><p>
Working with interesting people is more interesting than just working. If all you got going for your life is work, work, work, the good team-gelling lunches are going to be some pretty boring straight shop talk. Yawn. I’d much rather hear more about your whittling project, your last trek, how your garden is doing, or when you’ll get your flight certificate.
</p></blockquote>
<p>Probably the guy who wrote this is a graphic designer or something, since for all the real programmers I know, the most interesting subject imaginable is the software project they are currently working on. That&#8217;s why our social skills suck so bad. When we run into someone who <em>isn&#8217;t</em> a geek, we have no idea what to talk about. Naturally this gets old eventually, and even the pocket protector set ends up settling down, getting a dog and starting a family. Ever wonder why most startups are populated mainly with 20-somethings?</p>
<p>Which brings me to my real point: in light of this state of affairs, does Europe have a chance in the software biz? I&#8217;ve been working in European software startups for 15 years (and running them for 10). Having grown up in America, I&#8217;ve always been frustrated by the lack of obsessiveness when it comes to driving the company&#8217;s success. Programmers on this side of the pond work a lot harder than, say, post office clerks, but traditionally it&#8217;s still been a far cry from the mattress-under-your-desk workathon of the American startup nerd. When Arrington mocked the idea of &#8220;three weeks vacation&#8221; I had to smile. Over here, the big question is whether we can beat our staff down from five to only four weeks.</p>
<p>The good news is that the situation is changing. I&#8217;m seeing more and more startups built up around the American model. Globalization, more awareness of &#8220;cool&#8221; company cultures like Google&#8217;s and a few European home runs (such as Skype) are helping to reshape attitudes on this side of the pond. Lack of precedents for success, paucity of venture capital, stifling regulation and excessive risk aversion have conspired with our generally sedate work habits to lock Europeans into second-class citizen status in the software world. As we overcome these obstacles, I expect we&#8217;ll mount a much more credible challenge to America&#8217;s technological dominance.</p>
<!-- Social Bookmarks BEGIN --><div class="social_bookmark"><em>Bookmark to:</em><br /><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http://www.allpeers.com/blog/2008/03/09/are-europeans-too-lazy-to-be-software-entrepreneurs/&amp;title=Are+Europeans+Too+Lazy+to+be+Software+Entrepreneurs%3F" title="Add 'Are Europeans Too Lazy to be Software Entrepreneurs?' to Del.icio.us"><img src="http://www.allpeers.com/blog/wp-content/plugins/social_bookmarks/delicious.png" border="0" title="Add 'Are Europeans Too Lazy to be Software Entrepreneurs?' to Del.icio.us" alt="Add 'Are Europeans Too Lazy to be Software Entrepreneurs?' to Del.icio.us" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://www.allpeers.com/blog/2008/03/09/are-europeans-too-lazy-to-be-software-entrepreneurs/&amp;title=Are+Europeans+Too+Lazy+to+be+Software+Entrepreneurs%3F" title="Add 'Are Europeans Too Lazy to be Software Entrepreneurs?' to digg"><img src="http://www.allpeers.com/blog/wp-content/plugins/social_bookmarks/digg.png" border="0" title="Add 'Are Europeans Too Lazy to be Software Entrepreneurs?' to digg" alt="Add 'Are Europeans Too Lazy to be Software Entrepreneurs?' to digg" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://myweb2.search.yahoo.com/myresults/bookmarklet?u=http://www.allpeers.com/blog/2008/03/09/are-europeans-too-lazy-to-be-software-entrepreneurs/&amp;t=Are+Europeans+Too+Lazy+to+be+Software+Entrepreneurs%3F" title="Add 'Are Europeans Too Lazy to be Software Entrepreneurs?' to Yahoo My Web"><img src="http://www.allpeers.com/blog/wp-content/plugins/social_bookmarks/yahoo_myweb.png" border="0" title="Add 'Are Europeans Too Lazy to be Software Entrepreneurs?' to Yahoo My Web" alt="Add 'Are Europeans Too Lazy to be Software Entrepreneurs?' to Yahoo My Web" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.rojo.com/add-subscription/?resource=http://www.allpeers.com/blog/2008/03/09/are-europeans-too-lazy-to-be-software-entrepreneurs/" title="Add 'Are Europeans Too Lazy to be Software Entrepreneurs?' to Rojo"><img src="http://www.allpeers.com/blog/wp-content/plugins/social_bookmarks/rojo.png" border="0" title="Add 'Are Europeans Too Lazy to be Software Entrepreneurs?' to Rojo" alt="Add 'Are Europeans Too Lazy to be Software Entrepreneurs?' to Rojo" /></a></div>
<!-- Social Bookmarks END --><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/allpeers?a=ZOA1Nnf"><img src="http://feeds.feedburner.com/~f/allpeers?i=ZOA1Nnf" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/allpeers?a=54QXd9f"><img src="http://feeds.feedburner.com/~f/allpeers?i=54QXd9f" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/allpeers?a=aifdPXF"><img src="http://feeds.feedburner.com/~f/allpeers?i=aifdPXF" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.allpeers.com/blog/2008/03/09/are-europeans-too-lazy-to-be-software-entrepreneurs/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.allpeers.com/blog/2008/03/09/are-europeans-too-lazy-to-be-software-entrepreneurs/</feedburner:origLink></item>
		<item>
		<title>AllPeers: Lessons Learned</title>
		<link>http://feeds.feedburner.com/~r/allpeers/~3/246065037/</link>
		<comments>http://www.allpeers.com/blog/2008/03/05/allpeers-lessons-learned/#comments</comments>
		<pubDate>Wed, 05 Mar 2008 11:23:26 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
		
		<category><![CDATA[AllPeers]]></category>

		<category><![CDATA[New Business Models]]></category>

		<category><![CDATA[Software Development]]></category>

		<category><![CDATA[Firefox]]></category>

		<category><![CDATA[Software Industry]]></category>

		<category><![CDATA[World Wide Web]]></category>

		<category><![CDATA[P2P]]></category>

		<guid isPermaLink="false">http://www.allpeers.com/blog/2008/03/05/allpeers-lessons-learned/</guid>
		<description><![CDATA[Although AllPeers didn&#8217;t produce the kind of outcome that we had hoped for and expected, it&#8217;s been a tremendous learning experience. Hopefully others will be able to benefit from what I consider to be the main lessons.
Luck and ambition
Naturally the success of any startup is dependent to some degree on luck, and the luck factor [...]]]></description>
			<content:encoded><![CDATA[<p>Although AllPeers didn&#8217;t produce the kind of outcome that we had hoped for and expected, it&#8217;s been a tremendous learning experience. Hopefully others will be able to benefit from what I consider to be the main lessons.</p>
<p><strong>Luck and ambition</strong></p>
<p>Naturally the success of any startup is dependent to some degree on luck, and the luck factor rises in proportion to your ambitions. If your plan is to sell T-shirts online then execution is probably the main consideration. If you make really cool designs, have an easy-to-use website and do good marketing then you&#8217;ll probably make money, though you&#8217;re unlikely to be buying a private island in the South Pacific any time soon. If, on the other hand, you plan to dethrone Facebook by adding state-of-the-art social features to the fabric of the web, transforming the internet experience of billions of people, you&#8217;re going to have to execute to perfection and still get really really lucky if your company is to succeed. Of course, if you make it you&#8217;ll be assured a very comfortable early retirement.</p>
<p>Neither of these approaches is inherently wrong but you should be aware of what you&#8217;re getting yourself into. If you can&#8217;t stand the thought of failure, make sure you&#8217;re not tackling a problem that is too big and ambitious. In the case of AllPeers, we knew that there was going to be a lot of luck involved (as there is with any product that relies on network effects and viral adoption), and we were pretty well prepared for the challenges we would face. It is comforting to see failure in this way because we certainly wouldn&#8217;t have sacrificed our lofty ambitions to increase our chance of moderate success.</p>
<p><strong>Raise as much as you can</strong></p>
<p>I&#8217;m not the <a href="http://blog.pmarca.com/2007/07/the-pmarca-guid.html">first one to say this</a>, but let me express my wholehearted agreement: raise as much as you can, as soon as you can, and not a penny less. In early 2006, before we had released even a private alpha of AllPeers, we suddenly became a minor web star thanks to a couple of white-hot buzzwords (&#8221;Firefox&#8221; and &#8220;BitTorrent&#8221;) and a <a href="http://www.techcrunch.com/2006/01/03/allpeers-is-the-firefox-killer-app/">very positive writeup on TechCrunch</a>. (And in fact we owe a great deal to Mike Arrington, who grasped our vision immediately and did a great job of articulating why it was exciting. It&#8217;s easy and intellectually lazy to be pessimistic before the fact and <a href="http://www.alleyinsider.com/2008/3/techcrunch_top_pick__all_peers__goes_bust">snarky afterwards</a>, while it takes courage to go out on a limb and predict success.) We believed our own hype a bit too much, unfortunately, and didn&#8217;t take advantage of the opportunity to raise a lot of cash at a high valuation. Instead we brought in a very modest amount under the assumption that we&#8217;d be in a great position in a few short months to close a much bigger round.</p>
<p>As a result, we were under constant pressure to get user numbers up so we could raise more money. This isn&#8217;t the way to run a company, particularly one with an ambitious technological vision. We ended up making a string of tactical moves rather than taking a step back and looking at the big picture. As a consequence, we ran out of money before we could get the product to where it needed to be. Don&#8217;t make this mistake.</p>
<p>This shouldn&#8217;t be construed as a criticism of Mangrove Capital Partners, who led our series A investment round. They are a fantastic group of individuals whom I wouldn&#8217;t hesitate to recommend to any entrepreneur seeking funding, and a classic example of a VC who really does offer much more than money to a budding startup (something they all claim to do). But only a company&#8217;s founder has a single-minded focus on the company&#8217;s success, and this includes acquiring a war chest to deal with unforeseen contingencies.</p>
<p><strong>Be pessimistic about the technical challenges</strong></p>
<p>A direct corollary of the previous point is that you need to make a very thorough and sober assessment of the technical challenges you are facing. Make sure that you are being realistic about deployment timeframes. Then double them. In retrospect, it seems obvious and absolutely normal that it would take us the better part of two years to build a new peer-to-peer stack from the ground up and deploy it in a scalable way, especially considering that no one has built anything nearly as complex on top of Firefox before or since. But in the heady days of early 2006 we expected the product to be ready for prime time much sooner. This led to unrealistic expectations on the part of our investors (entirely our fault) and <a href="http://www.allpeers.com/blog/2006/06/29/beta-update/#comments">impatience on the part of our fans</a>. It is far easier to make this type of judgment in hindsight, of course, so it&#8217;s best to be as pessimistic as possible when communicating milestones.</p>
<p><strong>The viability of consumer peer-to-peer</strong></p>
<p>To a large extent, AllPeers was a bet on the strategic advantage that could be gained by using a peer-to-peer network rather than a centralized server. I still feel that this was a great bet, and I don&#8217;t regret making it. As any poker player knows, sometimes even good bets don&#8217;t pay off.</p>
<p>Nonetheless, with all the real-world experience of building a P2P network behind me, my opinion as a technologist is that the huge challenges of deploying a consumer P2P app outweigh the advantages. The notable exception is for products that aim primarily to avoid a central point of attack (for security reasons, to exchange copyrighted works without authorization, etc.). No one would put up with the relatively crappy user experience of BitTorrent versus, say, iTunes if it weren&#8217;t for considerations of this type.</p>
<p>The biggest problem with consumer P2P is that other users must be online in order for files to be available. With AllPeers, we frequently heard the complaint that &#8220;someone shared something with me but when I went to download it, I got a message saying &#8216;no sources&#8217;.&#8221; This is intensely frustrating, especially when it is the first experience you have with a new product. Meanwhile, the cost of bandwidth and storage has been plummeting, making centralized solutions increasingly attractive.</p>
<p>This isn&#8217;t to say that P2P doesn&#8217;t have compelling uses. A hybrid model that uses P2P where possible and a central server otherwise looks more promising since it solves the &#8220;no sources&#8221; problem mentioned above while retaining much of the efficiency advantage of a decentralized architecture. We had already started to experiment with this at AllPeers, and this would have become a big part of our technological strategy had we had time to finish implementing it. For mass distribution of media, I believe that P2P is most effective when it is implemented at a very low-level in the network stack. Application level code shouldn&#8217;t have to worry about it, but wherever possible data should be cached at the edges of the network and delivered from the most efficient location. This is essentially how the web handles distribution of web pages, with caching at the ISP and in the user&#8217;s browser. It also underlies the technical strategy of successful companies like Akamai.</p>
<p><strong>Open source/Mozilla</strong></p>
<p>On a more positive note, a decision I will never regret was our choice to implement AllPeers as an open source product on top of Mozilla. I didn&#8217;t have any experience beforehand working with open source, having worked mainly with Win32 development on Windows. Nonetheless, it is no exaggeration to say that I was welcomed with open arms (pun intended) by the Mozilla community before anyone had any idea who we were or what we were working on. Recruiting new members to the cause is the lifeblood of any open source project, so newcomers are given the benefit of the doubt even if (like me) they arrive unannounced and bombard people with stupid questions for days on end before they start to get a clue.</p>
<p>The nature of open source software itself makes it a dream platform for any programmer. It is much easier to track down problems and understand programming interfaces when you can drill down into the source code of the platform itself. In many instances, you can gain inspiration from existing code, take it and adapt it, remix it and otherwise benefit from those who have come before you.</p>
<p>I am sometimes critical of what I perceive as the excessively ideological bent of many open source advocates. One of the great things about the open source movement, in my view, is that is provides a strong counterweight to proprietary software. Efficient markets have healthy competition, and the strongest innovation can currently be seen in areas where traditional software competes with open source alternatives. This is true not only of the browser market, but also of operating systems (Windows and OS X vs. Linux), databases (Oracle and Microsoft vs. MySQL) and productivity software (MS Office vs. Open Office), to name just a few. I know a lot of people who want the whole world to go open source, but I think consumers benefit most from the tension between open, closed and all the various gradations that crop up in between.</p>
<p>The best thing about open source is the people. I never made any friends at Microsoft grinding away at my desk with Visual Studio and Microsoft Foundation Classes, but I&#8217;ve made scores of new friends in the Mozilla community: smart, passionate, hard-working people spread across the four corners of the globe. Working with open source is a rare opportunity to gain a competitive edge in the technology business and have fun doing it. I&#8217;d recommend it unhesitatingly to any software entrepreneur.</p>
<!-- Social Bookmarks BEGIN --><div class="social_bookmark"><em>Bookmark to:</em><br /><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http://www.allpeers.com/blog/2008/03/05/allpeers-lessons-learned/&amp;title=AllPeers%3A+Lessons+Learned" title="Add 'AllPeers: Lessons Learned' to Del.icio.us"><img src="http://www.allpeers.com/blog/wp-content/plugins/social_bookmarks/delicious.png" border="0" title="Add 'AllPeers: Lessons Learned' to Del.icio.us" alt="Add 'AllPeers: Lessons Learned' to Del.icio.us" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://www.allpeers.com/blog/2008/03/05/allpeers-lessons-learned/&amp;title=AllPeers%3A+Lessons+Learned" title="Add 'AllPeers: Lessons Learned' to digg"><img src="http://www.allpeers.com/blog/wp-content/plugins/social_bookmarks/digg.png" border="0" title="Add 'AllPeers: Lessons Learned' to digg" alt="Add 'AllPeers: Lessons Learned' to digg" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://myweb2.search.yahoo.com/myresults/bookmarklet?u=http://www.allpeers.com/blog/2008/03/05/allpeers-lessons-learned/&amp;t=AllPeers%3A+Lessons+Learned" title="Add 'AllPeers: Lessons Learned' to Yahoo My Web"><img src="http://www.allpeers.com/blog/wp-content/plugins/social_bookmarks/yahoo_myweb.png" border="0" title="Add 'AllPeers: Lessons Learned' to Yahoo My Web" alt="Add 'AllPeers: Lessons Learned' to Yahoo My Web" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.rojo.com/add-subscription/?resource=http://www.allpeers.com/blog/2008/03/05/allpeers-lessons-learned/" title="Add 'AllPeers: Lessons Learned' to Rojo"><img src="http://www.allpeers.com/blog/wp-content/plugins/social_bookmarks/rojo.png" border="0" title="Add 'AllPeers: Lessons Learned' to Rojo" alt="Add 'AllPeers: Lessons Learned' to Rojo" /></a></div>
<!-- Social Bookmarks END --><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/allpeers?a=DEOvM2f"><img src="http://feeds.feedburner.com/~f/allpeers?i=DEOvM2f" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/allpeers?a=d7jUvZf"><img src="http://feeds.feedburner.com/~f/allpeers?i=d7jUvZf" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/allpeers?a=hvIWo9F"><img src="http://feeds.feedburner.com/~f/allpeers?i=hvIWo9F" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.allpeers.com/blog/2008/03/05/allpeers-lessons-learned/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.allpeers.com/blog/2008/03/05/allpeers-lessons-learned/</feedburner:origLink></item>
		<item>
		<title>Use The Force</title>
		<link>http://feeds.feedburner.com/~r/allpeers/~3/245598984/</link>
		<comments>http://www.allpeers.com/blog/2008/03/04/use-the-force/#comments</comments>
		<pubDate>Tue, 04 Mar 2008 17:23:43 +0000</pubDate>
		<dc:creator>Cedric</dc:creator>
		
		<category><![CDATA[AllPeers]]></category>

		<guid isPermaLink="false">http://www.allpeers.com/blog/2008/03/04/use-the-force/</guid>
		<description><![CDATA[Since the announcement of the closing of AllPeers we have been submerged by emails, IMs, SMS and phone calls from total strangers and friends in the industry. 
Before making the announcement, Matt and I were wondering yesterday if anyone would really pay attention. After all we had not been in the news for some time [...]]]></description>
			<content:encoded><![CDATA[<p>Since the announcement of the closing of AllPeers we have been submerged by emails, IMs, SMS and phone calls from total strangers and friends in the industry. </p>
<p>Before making the announcement, Matt and I were wondering yesterday if anyone would really pay attention. After all we had not been in the news for some time and we would not be the first company to &#8220;join the deadpool&#8221;. To our surprise, our announcement has generated a lot of press coverage including Wired, CNET, InternetNews, Ars Technica and of course blogs (from the most famous ones to the smallest ones). The feedback is a general feeling of sadness and incomprehension.</p>
<p>This has been beyond our expectations (this is a recurring thing here at AllPeers) and we are turning all this love into positives vibes for our personal and professional lives. </p>
<p>As Obi-Wan Kenobi said: &#8220;<em>If you strike me down, I shall become more powerful than you could possibly imagine.</em>&#8220;. </p>
<p>This is pretty much how we feel right now 24h after going public with the news. Thanks to all for caring, this is why we create businesses.</p>
<!-- Social Bookmarks BEGIN --><div class="social_bookmark"><em>Bookmark to:</em><br /><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http://www.allpeers.com/blog/2008/03/04/use-the-force/&amp;title=Use+The+Force" title="Add 'Use The Force' to Del.icio.us"><img src="http://www.allpeers.com/blog/wp-content/plugins/social_bookmarks/delicious.png" border="0" title="Add 'Use The Force' to Del.icio.us" alt="Add 'Use The Force' to Del.icio.us" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://www.allpeers.com/blog/2008/03/04/use-the-force/&amp;title=Use+The+Force" title="Add 'Use The Force' to digg"><img src="http://www.allpeers.com/blog/wp-content/plugins/social_bookmarks/digg.png" border="0" title="Add 'Use The Force' to digg" alt="Add 'Use The Force' to digg" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://myweb2.search.yahoo.com/myresults/bookmarklet?u=http://www.allpeers.com/blog/2008/03/04/use-the-force/&amp;t=Use+The+Force" title="Add 'Use The Force' to Yahoo My Web"><img src="http://www.allpeers.com/blog/wp-content/plugins/social_bookmarks/yahoo_myweb.png" border="0" title="Add 'Use The Force' to Yahoo My Web" alt="Add 'Use The Force' to Yahoo My Web" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.rojo.com/add-subscription/?resource=http://www.allpeers.com/blog/2008/03/04/use-the-force/" title="Add 'Use The Force' to Rojo"><img src="http://www.allpeers.com/blog/wp-content/plugins/social_bookmarks/rojo.png" border="0" title="Add 'Use The Force' to Rojo" alt="Add 'Use The Force' to Rojo" /></a></div>
<!-- Social Bookmarks END --><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/allpeers?a=wOBkC0f"><img src="http://feeds.feedburner.com/~f/allpeers?i=wOBkC0f" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/allpeers?a=cYDnRJf"><img src="http://feeds.feedburner.com/~f/allpeers?i=cYDnRJf" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/allpeers?a=1EalkqF"><img src="http://feeds.feedburner.com/~f/allpeers?i=1EalkqF" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.allpeers.com/blog/2008/03/04/use-the-force/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.allpeers.com/blog/2008/03/04/use-the-force/</feedburner:origLink></item>
		<item>
		<title>AllPeers Service Shutting Down Today</title>
		<link>http://feeds.feedburner.com/~r/allpeers/~3/244870991/</link>
		<comments>http://www.allpeers.com/blog/2008/03/03/allpeers-service-shutting-down-today/#comments</comments>
		<pubDate>Mon, 03 Mar 2008 14:25:14 +0000</pubDate>
		<dc:creator>Matt and Cedric</dc:creator>
		
		<category><![CDATA[AllPeers]]></category>

		<category><![CDATA[Firefox]]></category>

		<guid isPermaLink="false">http://www.allpeers.com/blog/2008/03/03/allpeers-service-shutting-down-today/</guid>
		<description><![CDATA[It is with deep regret that we inform our users, friends and fans that we will be shutting down the AllPeers service today. We are tremendously proud of the product that our team has built, and we remain convinced of the potential of adding social features like file sharing to the web browser. However, we [...]]]></description>
			<content:encoded><![CDATA[<p>It is with deep regret that we inform our users, friends and fans that we will be shutting down the AllPeers service today. We are tremendously proud of the product that our team has built, and we remain convinced of the potential of adding social features like file sharing to the web browser. However, we have not achieved the kind of growth in our user base that our investors were expecting, and as a result we are not able to continue operating the service.</p>
<p>The past few years have been an incredible adventure for us. We would like to thank all of the amazing people who have helped us along the way. This includes countless users who provided us with valuable feedback about how to improve our product; the Mozilla community, who has proven to us that &#8220;community&#8221; is more than just a word when it comes to open source software; the many volunteers who spent hours translating each AllPeers version into fifteen different languages to make it available to non-English speakers across the world; and the friends and family who have supported us as we pursued what undoubtedly seemed like a crazy dream.</p>
<p>Being an entrepreneur is the most rewarding and exhilarating job we can imagine. Being able to build on a vision you have one morning and watch as it grows into reality is quite an experience. Seeing people get excited by what you are building is incredibly gratifying. The praise, devotion and even harsh criticism of the user community is what keeps you going despite long working hours, frequent stress and periods of uncertainty.</p>
<p>When we started working on AllPeers, we knew that it was an ambitious project with no guarantee of success. Such is the nature of any software startup. Sometimes it works, sometimes it doesn&#8217;t. Although we are deeply disappointed with the way this adventure has ended, we hope that fear of failure will never prevent us from daring to act on our inspiration.</p>
<p>We have met many many new friends thanks to AllPeers (you know who you are). This is a fantastic silver lining that gives us great comfort. We hope you will stay in touch as we move on to new pastures.</p>
<p>The success of this blog has also been one of the best experiences to come out of AllPeers. We will continue to operate it under the &#8220;Peer Pressure&#8221; name, posting our random thoughts about the web, the software industry, the evolution of media and whatever else strikes our fancy. We hope you&#8217;ll keep on reading. Matt will also continue writing his <a href="http://browsing.justdiscourse.com">Just Browsing</a> blog with a focus on web browsers and browser technology.</p>
<p>You haven&#8217;t heard the last from us. See you in our next life!</p>
<!-- Social Bookmarks BEGIN --><div class="social_bookmark"><em>Bookmark to:</em><br /><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http://www.allpeers.com/blog/2008/03/03/allpeers-service-shutting-down-today/&amp;title=AllPeers+Service+Shutting+Down+Today" title="Add 'AllPeers Service Shutting Down Today' to Del.icio.us"><img src="http://www.allpeers.com/blog/wp-content/plugins/social_bookmarks/delicious.png" border="0" title="Add 'AllPeers Service Shutting Down Today' to Del.icio.us" alt="Add 'AllPeers Service Shutting Down Today' to Del.icio.us" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://www.allpeers.com/blog/2008/03/03/allpeers-service-shutting-down-today/&amp;title=AllPeers+Service+Shutting+Down+Today" title="Add 'AllPeers Service Shutting Down Today' to digg"><img src="http://www.allpeers.com/blog/wp-content/plugins/social_bookmarks/digg.png" border="0" title="Add 'AllPeers Service Shutting Down Today' to digg" alt="Add 'AllPeers Service Shutting Down Today' to digg" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://myweb2.search.yahoo.com/myresults/bookmarklet?u=http://www.allpeers.com/blog/2008/03/03/allpeers-service-shutting-down-today/&amp;t=AllPeers+Service+Shutting+Down+Today" title="Add 'AllPeers Service Shutting Down Today' to Yahoo My Web"><img src="http://www.allpeers.com/blog/wp-content/plugins/social_bookmarks/yahoo_myweb.png" border="0" title="Add 'AllPeers Service Shutting Down Today' to Yahoo My Web" alt="Add 'AllPeers Service Shutting Down Today' to Yahoo My Web" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.rojo.com/add-subscription/?resource=http://www.allpeers.com/blog/2008/03/03/allpeers-service-shutting-down-today/" title="Add 'AllPeers Service Shutting Down Today' to Rojo"><img src="http://www.allpeers.com/blog/wp-content/plugins/social_bookmarks/rojo.png" border="0" title="Add 'AllPeers Service Shutting Down Today' to Rojo" alt="Add 'AllPeers Service Shutting Down Today' to Rojo" /></a></div>
<!-- Social Bookmarks END --><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/allpeers?a=X62luff"><img src="http://feeds.feedburner.com/~f/allpeers?i=X62luff" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/allpeers?a=5HIuzUf"><img src="http://feeds.feedburner.com/~f/allpeers?i=5HIuzUf" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/allpeers?a=pgpPkDF"><img src="http://feeds.feedburner.com/~f/allpeers?i=pgpPkDF" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.allpeers.com/blog/2008/03/03/allpeers-service-shutting-down-today/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.allpeers.com/blog/2008/03/03/allpeers-service-shutting-down-today/</feedburner:origLink></item>
		<item>
		<title>Extending Firebug</title>
		<link>http://feeds.feedburner.com/~r/allpeers/~3/243311977/</link>
		<comments>http://www.allpeers.com/blog/2008/02/29/extending-firebug/#comments</comments>
		<pubDate>Fri, 29 Feb 2008 13:22:01 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
		
		<category><![CDATA[Software Development]]></category>

		<category><![CDATA[Firefox]]></category>

		<guid isPermaLink="false">http://www.allpeers.com/blog/2008/02/29/extending-firebug/</guid>
		<description><![CDATA[Honza Odvárko, our user interface developer extraordinaire, has been doing some work on the excellent Firebug extension. He&#8217;s published the first two parts of a tutorial on extending Firebug on his new blog: Software is Hard (part one and part two). Anyone interested in developing and debugging web applications should check it out.
Bookmark to:
]]></description>
			<content:encoded><![CDATA[<p>Honza Odvárko, our user interface developer extraordinaire, has been doing some work on the excellent Firebug extension. He&#8217;s published the first two parts of a tutorial on extending Firebug on his new blog: <a href="http://www.softwareishard.com/">Software is Hard</a> (<a href="http://www.softwareishard.com/blog/?p=3">part one</a> and <a href="http://www.softwareishard.com/blog/?p=4">part two</a>). Anyone interested in developing and debugging web applications should check it out.</p>
<!-- Social Bookmarks BEGIN --><div class="social_bookmark"><em>Bookmark to:</em><br /><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http://www.allpeers.com/blog/2008/02/29/extending-firebug/&amp;title=Extending+Firebug" title="Add 'Extending Firebug' to Del.icio.us"><img src="http://www.allpeers.com/blog/wp-content/plugins/social_bookmarks/delicious.png" border="0" title="Add 'Extending Firebug' to Del.icio.us" alt="Add 'Extending Firebug' to Del.icio.us" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://www.allpeers.com/blog/2008/02/29/extending-firebug/&amp;title=Extending+Firebug" title="Add 'Extending Firebug' to digg"><img src="http://www.allpeers.com/blog/wp-content/plugins/social_bookmarks/digg.png" border="0" title="Add 'Extending Firebug' to digg" alt="Add 'Extending Firebug' to digg" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://myweb2.search.yahoo.com/myresults/bookmarklet?u=http://www.allpeers.com/blog/2008/02/29/extending-firebug/&amp;t=Extending+Firebug" title="Add 'Extending Firebug' to Yahoo My Web"><img src="http://www.allpeers.com/blog/wp-content/plugins/social_bookmarks/yahoo_myweb.png" border="0" title="Add 'Extending Firebug' to Yahoo My Web" alt="Add 'Extending Firebug' to Yahoo My Web" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.rojo.com/add-subscription/?resource=http://www.allpeers.com/blog/2008/02/29/extending-firebug/" title="Add 'Extending Firebug' to Rojo"><img src="http://www.allpeers.com/blog/wp-content/plugins/social_bookmarks/rojo.png" border="0" title="Add 'Extending Firebug' to Rojo" alt="Add 'Extending Firebug' to Rojo" /></a></div>
<!-- Social Bookmarks END --><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/allpeers?a=0PlLZme"><img src="http://feeds.feedburner.com/~f/allpeers?i=0PlLZme" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/allpeers?a=AYwN4Se"><img src="http://feeds.feedburner.com/~f/allpeers?i=AYwN4Se" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/allpeers?a=vtDWgCE"><img src="http://feeds.feedburner.com/~f/allpeers?i=vtDWgCE" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.allpeers.com/blog/2008/02/29/extending-firebug/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.allpeers.com/blog/2008/02/29/extending-firebug/</feedburner:origLink></item>
		<item>
		<title>Add Blame Links to MXR</title>
		<link>http://feeds.feedburner.com/~r/allpeers/~3/237471306/</link>
		<comments>http://www.allpeers.com/blog/2008/02/19/add-blame-links-to-mxr/#comments</comments>
		<pubDate>Tue, 19 Feb 2008 10:13:38 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
		
		<category><![CDATA[Software Development]]></category>

		<category><![CDATA[Firefox]]></category>

		<guid isPermaLink="false">http://www.allpeers.com/blog/2008/02/19/add-blame-links-to-mxr/</guid>
		<description><![CDATA[You think you&#8217;ve put it all behind you, but one tiny script and you tumble off the wagon. Such is the fate of the Greasemonkey addict. Someone mentioned yesterday that MXR search results should include a link to CVS Blame. (Regular readers of this blog are used to ignoring me when they don&#8217;t know what [...]]]></description>
			<content:encoded><![CDATA[<p>You think you&#8217;ve put it all behind you, but <a href="http://www.allpeers.com/blog/2008/02/15/fixing-bugzilla-platform-defaults/">one tiny script</a> and you tumble off the wagon. Such is the fate of the Greasemonkey addict. Someone mentioned yesterday that MXR search results should include a link to CVS Blame. (Regular readers of this blog are used to ignoring me when they don&#8217;t know what I&#8217;m talking about, right?) Rumor has it that real support for this is in the works, but I went ahead and wrote a script, just because I could. After all, the hallmarks of a good Greasemonkey script are quick-and-dirty hacks and planned obsolescence, and this one emphatically has both:</p>
<pre><code>// ==UserScript==
// @name           Add MXR blame links
// @namespace      http://justdiscourse.com
// @description    Add links to CVS Blame to MXR search results
// @include        http://mxr.mozilla.org/*search?string*
// ==/UserScript==

var results = document.getElementsByTagName("ul");
for (var i = 0; i < results.length; i++) {
  var ul = results[i];
  var anchor = ul.previousSibling.previousSibling;
  var span = document.createElement("span");
  var blame = document.createElement("a");
  blame.href = "http://bonsai.mozilla.org/cvsblame.cgi?&#038;file=/mozilla"
    + anchor.href.substring(anchor.href.indexOf("/source")+7);
  blame.appendChild(document.createTextNode("blame annotations"));
  span.appendChild(document.createTextNode(" (View "));
  span.appendChild(blame);
  span.appendChild(document.createTextNode(")"));
  ul.parentNode.insertBefore(span, ul);
}
</code></code></pre>
<p>Click <a href="http://browsing.justdiscourse.com/downloads/mxr-add-blame-links.user.js">here</a> to install (Greasemonkey required).</p>
<p>It&#8217;s incredibly empowering to have this kind of client-side control over your browsing experience. One of these days someone is going to <a href="http://www.allpeers.com/blog/essays/greasemonkey.htm">do this right</a> and it&#8217;ll take over the world.</p>
<!-- Social Bookmarks BEGIN --><div class="social_bookmark"><em>Bookmark to:</em><br /><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http://www.allpeers.com/blog/2008/02/19/add-blame-links-to-mxr/&amp;title=Add+Blame+Links+to+MXR" title="Add 'Add Blame Links to MXR' to Del.icio.us"><img src="http://www.allpeers.com/blog/wp-content/plugins/social_bookmarks/delicious.png" border="0" title="Add 'Add Blame Links to MXR' to Del.icio.us" alt="Add 'Add Blame Links to MXR' to Del.icio.us" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://www.allpeers.com/blog/2008/02/19/add-blame-links-to-mxr/&amp;title=Add+Blame+Links+to+MXR" title="Add 'Add Blame Links to MXR' to digg"><img src="http://www.allpeers.com/blog/wp-content/plugins/social_bookmarks/digg.png" border="0" title="Add 'Add Blame Links to MXR' to digg" alt="Add 'Add Blame Links to MXR' to digg" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://myweb2.search.yahoo.com/myresults/bookmarklet?u=http://www.allpeers.com/blog/2008/02/19/add-blame-links-to-mxr/&amp;t=Add+Blame+Links+to+MXR" title="Add 'Add Blame Links to MXR' to Yahoo My Web"><img src="http://www.allpeers.com/blog/wp-content/plugins/social_bookmarks/yahoo_myweb.png" border="0" title="Add 'Add Blame Links to MXR' to Yahoo My Web" alt="Add 'Add Blame Links to MXR' to Yahoo My Web" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.rojo.com/add-subscription/?resource=http://www.allpeers.com/blog/2008/02/19/add-blame-links-to-mxr/" title="Add 'Add Blame Links to MXR' to Rojo"><img src="http://www.allpeers.com/blog/wp-content/plugins/social_bookmarks/rojo.png" border="0" title="Add 'Add Blame Links to MXR' to Rojo" alt="Add 'Add Blame Links to MXR' to Rojo" /></a></div>
<!-- Social Bookmarks END --><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/allpeers?a=KZm05ie"><img src="http://feeds.feedburner.com/~f/allpeers?i=KZm05ie" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/allpeers?a=NmAPUPe"><img src="http://feeds.feedburner.com/~f/allpeers?i=NmAPUPe" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/allpeers?a=shBzWaE"><img src="http://feeds.feedburner.com/~f/allpeers?i=shBzWaE" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.allpeers.com/blog/2008/02/19/add-blame-links-to-mxr/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.allpeers.com/blog/2008/02/19/add-blame-links-to-mxr/</feedburner:origLink></item>
		<item>
		<title>Fixing Bugzilla Platform Defaults</title>
		<link>http://feeds.feedburner.com/~r/allpeers/~3/235590401/</link>
		<comments>http://www.allpeers.com/blog/2008/02/15/fixing-bugzilla-platform-defaults/#comments</comments>
		<pubDate>Fri, 15 Feb 2008 15:00:44 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
		
		<category><![CDATA[Software Development]]></category>

		<category><![CDATA[Firefox]]></category>

		<guid isPermaLink="false">http://www.allpeers.com/blog/2008/02/15/fixing-bugzilla-platform-defaults/</guid>
		<description><![CDATA[It&#8217;s a minor thing, to be sure, but it&#8217;s always irked me that Bugzilla defaults the platform and OS for a new bug to those of the reporter. This makes sense for bugs from &#8220;normal users&#8221; since it&#8217;s important to know where the bug occurred, but for the most part I file generic bugs or [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s a minor thing, to be sure, but it&#8217;s always irked me that Bugzilla defaults the platform and OS for a new bug to those of the reporter. This makes sense for bugs from &#8220;normal users&#8221; since it&#8217;s important to know where the bug occurred, but for the most part I file generic bugs or enhancements requests. So the first thing I have to do every time I file a new bug is to set those two fields manually to &#8220;All&#8221;. This takes me about five seconds, so if I file a bug a day (on average) that could be as many as 25 minutes a year. Twenty-five minutes that I could have spent taking movie quizzes on Facebook! This is unacceptable.</p>
<p>I asked around, and apparently fixing the problem is hard for some reason. Just now it dawned on me that I could take matters into my own hands. I used to be a Greasemonkey maniac, and I wrote a few <a href="http://www.allpeers.com/blog/2005/05/15/slashdot-live-comment-tree/">pretty</a> <a href="http://www.allpeers.com/blog/2005/06/09/wikiproxy-greasemonkey-edition/">complex</a> <a href="http://www.allpeers.com/blog/2005/07/05/technoproxy/">scripts</a> back in the day. (None of these work anymore, I&#8217;m sure, due to changes in the associated websites, Firefox and Greasemonkey itself, but perusing the source code will bring you hours of enjoyment.) Wikiproxy and Bloglines Sidebar Squeezer even made it into Mark Pilgrim&#8217;s <a href="http://www.oreilly.com/catalog/greasemonkeyhks/">Greasemonkey Hacks</a>.</p>
<p>Anyway, here&#8217;s the script I wrote to fix the Bugzilla nit:</p>
<pre><code>// ==UserScript==
// @name           Bugzilla Platform Defaults
// @namespace      http://justdiscourse.com
// @description    Changes the default platform and OS to ALL
//                 when filing a new bug
// @include        https://bugzilla.mozilla.org/enter_bug.cgi*
// ==/UserScript==

resetDropDownList("//select[@name='rep_platform']");
resetDropDownList("//select[@name='op_sys']");

function resetDropDownList(xpath) {
  var dropdown = document.evaluate(xpath, document, null, 9, null).
    singleNodeValue;
  dropdown.selectedIndex = 0;
}
</code></pre>
<p>Click <a href="http://browsing.justdiscourse.com/downloads/bugzilla-platform-defaults.user.js">here</a> to give it a spin. (You must have Greasemonkey installed.)</p>
<!-- Social Bookmarks BEGIN --><div class="social_bookmark"><em>Bookmark to:</em><br /><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http://www.allpeers.com/blog/2008/02/15/fixing-bugzilla-platform-defaults/&amp;title=Fixing+Bugzilla+Platform+Defaults" title="Add 'Fixing Bugzilla Platform Defaults' to Del.icio.us"><img src="http://www.allpeers.com/blog/wp-content/plugins/social_bookmarks/delicious.png" border="0" title="Add 'Fixing Bugzilla Platform Defaults' to Del.icio.us" alt="Add 'Fixing Bugzilla Platform Defaults' to Del.icio.us" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://www.allpeers.com/blog/2008/02/15/fixing-bugzilla-platform-defaults/&amp;title=Fixing+Bugzilla+Platform+Defaults" title="Add 'Fixing Bugzilla Platform Defaults' to digg"><img src="http://www.allpeers.com/blog/wp-content/plugins/social_bookmarks/digg.png" border="0" title="Add 'Fixing Bugzilla Platform Defaults' to digg" alt="Add 'Fixing Bugzilla Platform Defaults' to digg" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://myweb2.search.yahoo.com/myresults/bookmarklet?u=http://www.allpeers.com/blog/2008/02/15/fixing-bugzilla-platform-defaults/&amp;t=Fixing+Bugzilla+Platform+Defaults" title="Add 'Fixing Bugzilla Platform Defaults' to Yahoo My Web"><img src="http://www.allpeers.com/blog/wp-content/plugins/social_bookmarks/yahoo_myweb.png" border="0" title="Add 'Fixing Bugzilla Platform Defaults' to Yahoo My Web" alt="Add 'Fixing Bugzilla Platform Defaults' to Yahoo My Web" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.rojo.com/add-subscription/?resource=http://www.allpeers.com/blog/2008/02/15/fixing-bugzilla-platform-defaults/" title="Add 'Fixing Bugzilla Platform Defaults' to Rojo"><img src="http://www.allpeers.com/blog/wp-content/plugins/social_bookmarks/rojo.png" border="0" title="Add 'Fixing Bugzilla Platform Defaults' to Rojo" alt="Add 'Fixing Bugzilla Platform Defaults' to Rojo" /></a></div>
<!-- Social Bookmarks END --><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/allpeers?a=npIZWKe"><img src="http://feeds.feedburner.com/~f/allpeers?i=npIZWKe" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/allpeers?a=UNqcVue"><img src="http://feeds.feedburner.com/~f/allpeers?i=UNqcVue" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/allpeers?a=tpMpOPE"><img src="http://feeds.feedburner.com/~f/allpeers?i=tpMpOPE" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.allpeers.com/blog/2008/02/15/fixing-bugzilla-platform-defaults/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.allpeers.com/blog/2008/02/15/fixing-bugzilla-platform-defaults/</feedburner:origLink></item>
	</channel>
</rss>
