<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: The Road to Passenger 3: Technology Preview 2 &#8211; Stability, robustness, availability, self-healing</title>
	<atom:link href="http://blog.phusion.nl/2010/06/18/the-road-to-passenger-3-technology-preview-2-stability-robustness-availability-self-healing/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.phusion.nl/2010/06/18/the-road-to-passenger-3-technology-preview-2-stability-robustness-availability-self-healing/</link>
	<description></description>
	<lastBuildDate>Fri, 03 Feb 2012 23:02:15 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: How to achieve zero downtime with Passenger 3? - Admins Goodies</title>
		<link>http://blog.phusion.nl/2010/06/18/the-road-to-passenger-3-technology-preview-2-stability-robustness-availability-self-healing/comment-page-1/#comment-57590</link>
		<dc:creator>How to achieve zero downtime with Passenger 3? - Admins Goodies</dc:creator>
		<pubDate>Wed, 10 Aug 2011 21:07:53 +0000</pubDate>
		<guid isPermaLink="false">http://blog.phusion.nl/?p=709#comment-57590</guid>
		<description>[...] http://blog.phusion.nl/2010/06/18/the-road-to-passenger-3-technology-preview-2-stability-robustness-... [...]</description>
		<content:encoded><![CDATA[<p>[...] <a href="http://blog.phusion.nl/2010/06/18/the-road-to-passenger-3-technology-preview-2-stability-robustness-.." rel="nofollow">http://blog.phusion.nl/2010/06/18/the-road-to-passenger-3-technology-preview-2-stability-robustness-..</a>. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: David Burry</title>
		<link>http://blog.phusion.nl/2010/06/18/the-road-to-passenger-3-technology-preview-2-stability-robustness-availability-self-healing/comment-page-1/#comment-29964</link>
		<dc:creator>David Burry</dc:creator>
		<pubDate>Wed, 01 Dec 2010 20:40:09 +0000</pubDate>
		<guid isPermaLink="false">http://blog.phusion.nl/?p=709#comment-29964</guid>
		<description>You guys&#039; twama llama turn threadnaught is classic, I haven&#039;t eye-rolled-loled so hard in ages.  Thanks for making my day! :)

And keep up the good work improving passenger, I like where things are going in general...  It shows you do listen to what people want and need, once you are convinced.  Which is exactly the way you should be doing it as keeper of your own open codebase.

And if anyone thinks the work should be done very differently or at a very different pace, they are free to do better.  And while that is an appropriate response to a troller, thanks for not using that as a pat answer to every helpful suggestion and discourse about possible ways to improve the product!  You guys rock!

In regards to the whole &quot;watchdog of the watchdog&quot; thing... I would expect a reasonable two-watchdog implementation to be like a master-slave thing, where the slave watchdog turns into a new master when it notices its master died (i.e. launching a new slave, etc).

However, I can also see it as a logical opinion that many people underestimate the increased complexity of such a system, and the negative impact that can have on the stability of the watchdogs in the first place.  Of course the only way to truly tell is to build both in a modular fashion and run the same site with half the server farm one way and half the other way... for.. um.. probably years? :)  Anyone interested in building this and running it to see?  ...  I thought so :)</description>
		<content:encoded><![CDATA[<p>You guys&#8217; twama llama turn threadnaught is classic, I haven&#8217;t eye-rolled-loled so hard in ages.  Thanks for making my day! <img src='http://blog.phusion.nl/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>And keep up the good work improving passenger, I like where things are going in general&#8230;  It shows you do listen to what people want and need, once you are convinced.  Which is exactly the way you should be doing it as keeper of your own open codebase.</p>
<p>And if anyone thinks the work should be done very differently or at a very different pace, they are free to do better.  And while that is an appropriate response to a troller, thanks for not using that as a pat answer to every helpful suggestion and discourse about possible ways to improve the product!  You guys rock!</p>
<p>In regards to the whole &#8220;watchdog of the watchdog&#8221; thing&#8230; I would expect a reasonable two-watchdog implementation to be like a master-slave thing, where the slave watchdog turns into a new master when it notices its master died (i.e. launching a new slave, etc).</p>
<p>However, I can also see it as a logical opinion that many people underestimate the increased complexity of such a system, and the negative impact that can have on the stability of the watchdogs in the first place.  Of course the only way to truly tell is to build both in a modular fashion and run the same site with half the server farm one way and half the other way&#8230; for.. um.. probably years? <img src='http://blog.phusion.nl/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />   Anyone interested in building this and running it to see?  &#8230;  I thought so <img src='http://blog.phusion.nl/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Особое программирование &#187; Post Topic &#187; Phusion Passenger 3 Released: The Next Gen of Ruby Webapp Deployment</title>
		<link>http://blog.phusion.nl/2010/06/18/the-road-to-passenger-3-technology-preview-2-stability-robustness-availability-self-healing/comment-page-1/#comment-27764</link>
		<dc:creator>Особое программирование &#187; Post Topic &#187; Phusion Passenger 3 Released: The Next Gen of Ruby Webapp Deployment</dc:creator>
		<pubDate>Tue, 19 Oct 2010 17:19:58 +0000</pubDate>
		<guid isPermaLink="false">http://blog.phusion.nl/?p=709#comment-27764</guid>
		<description>[...] more performance and a ton of new features, as covered in Phusion&#8217;s four &#8220;technological preview&#8221; blog [...]</description>
		<content:encoded><![CDATA[<p>[...] more performance and a ton of new features, as covered in Phusion&#8217;s four &#8220;technological preview&#8221; blog [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rachid Al Maach</title>
		<link>http://blog.phusion.nl/2010/06/18/the-road-to-passenger-3-technology-preview-2-stability-robustness-availability-self-healing/comment-page-1/#comment-24387</link>
		<dc:creator>Rachid Al Maach</dc:creator>
		<pubDate>Sat, 31 Jul 2010 10:37:34 +0000</pubDate>
		<guid isPermaLink="false">http://blog.phusion.nl/?p=709#comment-24387</guid>
		<description>This sounds great! can&#039;t wait to try and use it! great job</description>
		<content:encoded><![CDATA[<p>This sounds great! can&#8217;t wait to try and use it! great job</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Advanced Capistrano usage &#124; Dmytro Shteflyuk&#039;s Home</title>
		<link>http://blog.phusion.nl/2010/06/18/the-road-to-passenger-3-technology-preview-2-stability-robustness-availability-self-healing/comment-page-1/#comment-22193</link>
		<dc:creator>Advanced Capistrano usage &#124; Dmytro Shteflyuk&#039;s Home</dc:creator>
		<pubDate>Wed, 23 Jun 2010 19:33:31 +0000</pubDate>
		<guid isPermaLink="false">http://blog.phusion.nl/?p=709#comment-22193</guid>
		<description>[...] I said above is valid for Passenger 2.x, but keep in mind that Passenger 3 will support zero-downtime web server restarts out of the box, so this trick will not be needed anymore. We are all waiting for you, the [...]</description>
		<content:encoded><![CDATA[<p>[...] I said above is valid for Passenger 2.x, but keep in mind that Passenger 3 will support zero-downtime web server restarts out of the box, so this trick will not be needed anymore. We are all waiting for you, the [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Hongli Lai</title>
		<link>http://blog.phusion.nl/2010/06/18/the-road-to-passenger-3-technology-preview-2-stability-robustness-availability-self-healing/comment-page-1/#comment-22181</link>
		<dc:creator>Hongli Lai</dc:creator>
		<pubDate>Tue, 22 Jun 2010 18:17:44 +0000</pubDate>
		<guid isPermaLink="false">http://blog.phusion.nl/?p=709#comment-22181</guid>
		<description>Tom:
1) Actually our watchdog does not restart the web server, it just restarts Phusion Passenger components. If you want to monitor the web server you need to use stuff like Monit or Daemontools.
2) What you&#039;re describing is rolling application restarts. That&#039;s a whole other thing, not related to this.

Instead zero-downtime web server restart is for when you&#039;ve modified the web server configuration file and needs the web server to reload it.</description>
		<content:encoded><![CDATA[<p>Tom:<br />
1) Actually our watchdog does not restart the web server, it just restarts Phusion Passenger components. If you want to monitor the web server you need to use stuff like Monit or Daemontools.<br />
2) What you&#8217;re describing is rolling application restarts. That&#8217;s a whole other thing, not related to this.</p>
<p>Instead zero-downtime web server restart is for when you&#8217;ve modified the web server configuration file and needs the web server to reload it.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tom Purl</title>
		<link>http://blog.phusion.nl/2010/06/18/the-road-to-passenger-3-technology-preview-2-stability-robustness-availability-self-healing/comment-page-1/#comment-22179</link>
		<dc:creator>Tom Purl</dc:creator>
		<pubDate>Tue, 22 Jun 2010 17:53:24 +0000</pubDate>
		<guid isPermaLink="false">http://blog.phusion.nl/?p=709#comment-22179</guid>
		<description>Wow, all of this looks really great!  I have a few questions about the &quot;Zero-downtime web server restart&quot; feature though.

First, what failure mode does this new feature prevent?  And in what scenario would I use it?  For example, when I restart a web server, I usually do it for one of two reasons:

1) The web server has crashed or is not responsive
2) I have deployed new code or changed a properties file

Obviously, the first scenario would be handled by the watchdog process.  So is scenario #2 handled by this &quot;Zero-downtime web server restart&quot; feature?  Can I make an arbitrary change to my application, and have the old and new versions hosted simultaneously?</description>
		<content:encoded><![CDATA[<p>Wow, all of this looks really great!  I have a few questions about the &#8220;Zero-downtime web server restart&#8221; feature though.</p>
<p>First, what failure mode does this new feature prevent?  And in what scenario would I use it?  For example, when I restart a web server, I usually do it for one of two reasons:</p>
<p>1) The web server has crashed or is not responsive<br />
2) I have deployed new code or changed a properties file</p>
<p>Obviously, the first scenario would be handled by the watchdog process.  So is scenario #2 handled by this &#8220;Zero-downtime web server restart&#8221; feature?  Can I make an arbitrary change to my application, and have the old and new versions hosted simultaneously?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ninh Bui</title>
		<link>http://blog.phusion.nl/2010/06/18/the-road-to-passenger-3-technology-preview-2-stability-robustness-availability-self-healing/comment-page-1/#comment-22131</link>
		<dc:creator>Ninh Bui</dc:creator>
		<pubDate>Mon, 21 Jun 2010 21:45:35 +0000</pubDate>
		<guid isPermaLink="false">http://blog.phusion.nl/?p=709#comment-22131</guid>
		<description>@Felix Ogg:
First off, I&#039;m kind of honored that someone who claims to not have a lot of time invests a massive amount of bytes to form a comment ;-) Anyway, thanks for sharing your thoughts, it&#039;s much appreciated.

Having said that, below you&#039;ll find my reply to your &quot;points&quot;:

1. First off, as repeatedly stated to you on twitter and something I&#039;d like to underline in this comment, we never remotely claimed we invented these concepts, nor would we dare to claim such a thing as having invented signaling. Not only because that would be a gross falsity but just also for the fact that we respect our audience in having the knowledge in something like signal handling.

Furthermore, we&#039;ve named the concepts by their proper name so anyone who would have the scrutiny to be interested in these concepts would easily be able to perform a google search to find scientific papers on these matters in all sorts of forms, should they desire to do so. In fact, they are so numerous, I wouldn&#039;t even know where to begin with regards to referencing. Call me a fool, but I believe our audience is scrutinous and smart enough to do their own part of research as well ;-).

Now, let&#039;s flip the burger, should one who refers to the observer pattern also make reference to Gamma et al&#039;s Gang of Four design pattern book as well as their first scientific paper on these things in an effort to not come across as being pompous? Am I pompous because I don&#039;t do:
&lt;pre&gt;
// Oh this is a derivative of the observer pattern, which was originally created
// by Erich Gamma et al. or at least formally described by them  in their excellent
// Gang of Four design pattern book. I didn&#039;t invent this!
// ISBN 0-201-63361-2
class Foo : Observer {

};
&lt;/pre&gt;

Should &quot;man kill&quot; also be called pompous because it does not reference to the theory behind signal handling in processes? If you think so too, then I guess there is no point in discussing this any further as we&#039;ll fundamentally differ in opinions on these matters. By that logic, you&#039;d probably find nearly all developers pompous then I guess ;-)

Furthermore, you make mention of us not reading enough books, yet you claim we are the ones being pompous... I find that kind of interesting especially when you referenced a paper by Philips from 2006 as proof of fault tolerant systems predating our blog post, to which I replied that Joe Armstrong implemented these concepts as early as in 1986 in Erlang. Undoubtedly, the latter was preceded by other efforts as well as I&#039;ve been able to find papers going back to the 70s on this topic on ACM with ease.

2. Let me just reply to the sentence you quoted and try to elaborate on that. In fact, our blog has a commenting system just for that purpose. There are a few factors why we make this claim:

The watchdog is extremely lightweight, i.e. less than 1000 LOC, most of it being C++ boilerplate and error checking. With code that is this lightweight it&#039;s very feasible to test this extremely well, which we have done indeed. In fact, most of the code of this watchdog is actually to test that conditions pass as expected and get handled correctly as well. There are of course a myriad of anomalies that could lead applications to crash, but we&#039;ve made an extremely big effort in getting this minimized when it comes to code. The use of idioms and libraries that have been integrated in far larger projects than Passenger and have had a significant effect with regards to stability (e.g. reducing the possibility of segfaults by using smart pointers and preventing memory leaks by using RAII) is something we wish to underline. To say it is only speculation however would be doing it a disservice, as I&#039;ve mentioned in one of the earlier comments, we&#039;re currently beta testing Passenger not only in our environments but also at some of the most demanding Ruby environments out there to make sure that it is holding its own in those environments as well.

It is for this reason that I don&#039;t entirely agree with your paraphrasing as it seems to be overseeing the fact that we&#039;re actively battle testing this in various live production environments (some of the most demanding in fact) right now as we speak and have done so for quite some time now. In fact, we&#039;ve been testing well over half a year now, and we firmly believe that by using these techniques and doing intensive testing we&#039;ve reduced the possibilities significantly of allowing the watchdog to contain crash bugs especially in contrast to the alternate scenario that we would NOT have used any of these techniques.

Beta test results seem to back this up for the moment, but I understand what you&#039;re trying to get at: indeed, I suppose I can&#039;t give you a probability such that P(X=&quot;watchdog crashes&quot;)&lt;0.0001 as a definition of &quot;extremely low&quot;, so I will edit this in the blog post to reflect that: instead of &quot;is&quot; I&#039;ll use &quot;expect&quot; in the sentence with regards to the watchdog. However, I find it interesting that you seem to take such extreme offense of this as you&#039;re quoting Apple who are well known for making far bolder claims like &quot;reinventing the phone&quot;. I&#039;d only think it would be fair if you&#039;d email Steve Jobs right now too to get a scientific backing on that claim. ;-)

3. It&#039;s funny that you first mention that you find Phusion Passenger a good product, but at the end of your comment call it ancient and are apparently capable of speaking of behalf of all our users/clients. That&#039;s an indication of a troll I guess, and shame on me for indulging you with this comment ;-).

Now, in particular, you mention &quot;Their bars are actually a lot higher, they consider your technology ancient, and - like me - wonder why you didn&#039;t put it in in the first place&quot;. Would you like me to find a cure for cancer too while I&#039;m at it? (Trust me, if I could, I would but the fact remains that we&#039;re mere mortals, not wizards).

All kidding aside, I could go on for a while, but you know what I&#039;m thinking instead? Phusion Passenger has been an open source project from the very beginning, for over two years now in fact. If there were particular features that you needed in there, there would&#039;ve been plenty of opportunity for you to implement these yourself. So what&#039;s your excuse for not doing so? ;-)</description>
		<content:encoded><![CDATA[<p>@Felix Ogg:<br />
First off, I&#8217;m kind of honored that someone who claims to not have a lot of time invests a massive amount of bytes to form a comment <img src='http://blog.phusion.nl/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  Anyway, thanks for sharing your thoughts, it&#8217;s much appreciated.</p>
<p>Having said that, below you&#8217;ll find my reply to your &#8220;points&#8221;:</p>
<p>1. First off, as repeatedly stated to you on twitter and something I&#8217;d like to underline in this comment, we never remotely claimed we invented these concepts, nor would we dare to claim such a thing as having invented signaling. Not only because that would be a gross falsity but just also for the fact that we respect our audience in having the knowledge in something like signal handling.</p>
<p>Furthermore, we&#8217;ve named the concepts by their proper name so anyone who would have the scrutiny to be interested in these concepts would easily be able to perform a google search to find scientific papers on these matters in all sorts of forms, should they desire to do so. In fact, they are so numerous, I wouldn&#8217;t even know where to begin with regards to referencing. Call me a fool, but I believe our audience is scrutinous and smart enough to do their own part of research as well <img src='http://blog.phusion.nl/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> .</p>
<p>Now, let&#8217;s flip the burger, should one who refers to the observer pattern also make reference to Gamma et al&#8217;s Gang of Four design pattern book as well as their first scientific paper on these things in an effort to not come across as being pompous? Am I pompous because I don&#8217;t do:</p>
<pre>
// Oh this is a derivative of the observer pattern, which was originally created
// by Erich Gamma et al. or at least formally described by them  in their excellent
// Gang of Four design pattern book. I didn't invent this!
// ISBN 0-201-63361-2
class Foo : Observer {

};
</pre>
<p>Should &#8220;man kill&#8221; also be called pompous because it does not reference to the theory behind signal handling in processes? If you think so too, then I guess there is no point in discussing this any further as we&#8217;ll fundamentally differ in opinions on these matters. By that logic, you&#8217;d probably find nearly all developers pompous then I guess <img src='http://blog.phusion.nl/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Furthermore, you make mention of us not reading enough books, yet you claim we are the ones being pompous&#8230; I find that kind of interesting especially when you referenced a paper by Philips from 2006 as proof of fault tolerant systems predating our blog post, to which I replied that Joe Armstrong implemented these concepts as early as in 1986 in Erlang. Undoubtedly, the latter was preceded by other efforts as well as I&#8217;ve been able to find papers going back to the 70s on this topic on ACM with ease.</p>
<p>2. Let me just reply to the sentence you quoted and try to elaborate on that. In fact, our blog has a commenting system just for that purpose. There are a few factors why we make this claim:</p>
<p>The watchdog is extremely lightweight, i.e. less than 1000 LOC, most of it being C++ boilerplate and error checking. With code that is this lightweight it&#8217;s very feasible to test this extremely well, which we have done indeed. In fact, most of the code of this watchdog is actually to test that conditions pass as expected and get handled correctly as well. There are of course a myriad of anomalies that could lead applications to crash, but we&#8217;ve made an extremely big effort in getting this minimized when it comes to code. The use of idioms and libraries that have been integrated in far larger projects than Passenger and have had a significant effect with regards to stability (e.g. reducing the possibility of segfaults by using smart pointers and preventing memory leaks by using RAII) is something we wish to underline. To say it is only speculation however would be doing it a disservice, as I&#8217;ve mentioned in one of the earlier comments, we&#8217;re currently beta testing Passenger not only in our environments but also at some of the most demanding Ruby environments out there to make sure that it is holding its own in those environments as well.</p>
<p>It is for this reason that I don&#8217;t entirely agree with your paraphrasing as it seems to be overseeing the fact that we&#8217;re actively battle testing this in various live production environments (some of the most demanding in fact) right now as we speak and have done so for quite some time now. In fact, we&#8217;ve been testing well over half a year now, and we firmly believe that by using these techniques and doing intensive testing we&#8217;ve reduced the possibilities significantly of allowing the watchdog to contain crash bugs especially in contrast to the alternate scenario that we would NOT have used any of these techniques.</p>
<p>Beta test results seem to back this up for the moment, but I understand what you&#8217;re trying to get at: indeed, I suppose I can&#8217;t give you a probability such that P(X=&#8221;watchdog crashes&#8221;)&lt;0.0001 as a definition of &#8220;extremely low&#8221;, so I will edit this in the blog post to reflect that: instead of &#8220;is&#8221; I&#8217;ll use &#8220;expect&#8221; in the sentence with regards to the watchdog. However, I find it interesting that you seem to take such extreme offense of this as you&#8217;re quoting Apple who are well known for making far bolder claims like &#8220;reinventing the phone&#8221;. I&#8217;d only think it would be fair if you&#8217;d email Steve Jobs right now too to get a scientific backing on that claim. <img src='http://blog.phusion.nl/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>3. It&#8217;s funny that you first mention that you find Phusion Passenger a good product, but at the end of your comment call it ancient and are apparently capable of speaking of behalf of all our users/clients. That&#8217;s an indication of a troll I guess, and shame on me for indulging you with this comment <img src='http://blog.phusion.nl/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> .</p>
<p>Now, in particular, you mention &#8220;Their bars are actually a lot higher, they consider your technology ancient, and &#8211; like me &#8211; wonder why you didn&#8217;t put it in in the first place&#8221;. Would you like me to find a cure for cancer too while I&#8217;m at it? (Trust me, if I could, I would but the fact remains that we&#8217;re mere mortals, not wizards).</p>
<p>All kidding aside, I could go on for a while, but you know what I&#8217;m thinking instead? Phusion Passenger has been an open source project from the very beginning, for over two years now in fact. If there were particular features that you needed in there, there would&#8217;ve been plenty of opportunity for you to implement these yourself. So what&#8217;s your excuse for not doing so? <img src='http://blog.phusion.nl/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: iain</title>
		<link>http://blog.phusion.nl/2010/06/18/the-road-to-passenger-3-technology-preview-2-stability-robustness-availability-self-healing/comment-page-1/#comment-22127</link>
		<dc:creator>iain</dc:creator>
		<pubDate>Mon, 21 Jun 2010 21:11:27 +0000</pubDate>
		<guid isPermaLink="false">http://blog.phusion.nl/?p=709#comment-22127</guid>
		<description>You talk about modesty and cite Apple Inc.? The guys who &quot;reinvented the phone&quot;?</description>
		<content:encoded><![CDATA[<p>You talk about modesty and cite Apple Inc.? The guys who &#8220;reinvented the phone&#8221;?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Felix Ogg</title>
		<link>http://blog.phusion.nl/2010/06/18/the-road-to-passenger-3-technology-preview-2-stability-robustness-availability-self-healing/comment-page-1/#comment-22122</link>
		<dc:creator>Felix Ogg</dc:creator>
		<pubDate>Mon, 21 Jun 2010 20:37:36 +0000</pubDate>
		<guid isPermaLink="false">http://blog.phusion.nl/?p=709#comment-22122</guid>
		<description>This discussion started on Twitter, where I called your attitude &quot;pompous&quot;, to my close friends, but open to see for people on Twitter. That is un-chique, so NinH rightfully claimed he was defenseless - be it a bit sensitive, but still. Furthermore, I don&#039;t have time to make this into a lengthy discussion, it serves neither of us, so don&#039;t count on us getting to an agreement. 

I will explain my wording. 

But first, you need to know that I think Passenger is a good product, a valuable addition to the open source world. It is by far the best way to serve up a rails app. I use it myself.

I&#039;ve seen you guys presenting, I read some blog posts, so I tend to generalize. Again, that&#039;s unfair, so I&#039;ll stick to just this one post, technology preview 2. 
Pompous means making yourself look &#039;annoyingly self-important&#039;, but it&#039;s of course highly opinionated. Henceforth, I can only give two key pieces of constructive feedback that would make your posts/presentations seem LESS POMPOUS to me (I.E. less annoying).

1. Point readers to the good ideas you borrowed, give credit.
(You did not invent the concept Watchdog, nor the SIGTERM/SIGKILL signalling, nor the rolling updates for multiple server instances. You just re-implemented these. )

BECAUSE:
- If you provide the reference you can explain it in the &quot;for dummies&quot; style like you do so well, but the references earn trust from serious (&quot;enterprisy&quot;?) people. You need the serious people to grow the community.
-If you provide the reference, maybe you will inspire someone to read them, who can actually apply the same concepts, AS WELL AS OTHER CONCEPTS FOUND IN THE SAME BOOK/SOURCE. While looking up the sources of the stuff you borrowed, they will find solutions to their OTHER PROBLEMS and - again, implement them for the greater good.

By leaving out references you imply that you &#039;invented&#039; stuff, which you clearly haven&#039;t, which looks self-important (and ignorant) to people who know this stuff. 
BTW: If you are now saying: &quot;But really, I never read about this, I just built it&quot;, then - indeed you are re-inventing the wheel and you really should read more books.

2. Separate your marketing fluff from your educational writing
(If you are making time to educate people, don&#039;t get caught inserting unsupported marketing claims in between. For example this is pure nonsense, and very much unneeded:

&quot;The codebase extensively uses C++ idioms that promote code stability, such as smart pointers and RAII. Because of this, the possibility that the watchdog contains crashing bugs is extremely low.&quot;

How extremely low? Once in a million years? How do you know that? Low compared to what? Aren&#039;t you essentially saying &quot;well we use a programming language, and some libraries, we followed other smart people&#039;s guidelines and since it&#039;s only a small codebase, and because we tested it quite a lot, we HOPE there are fewer bugs in that component, than in the average work WE deliver.&quot; That&#039;s about what you have, anything more, is plain self-important.


BECAUSE
- You write to educate others, to show by example how Phusion strives to take Rails to higher levels. And probably to inspire others to do the same, with similar openness. If you start &#039;selling&#039; yourself or your product, inspiration is lost. Whom did you learn most from at University; the all-knowing arrogant professor, or the modest and forgiving Ph.D. assistant?
- You loose your credibility whenever people find out you are presenting guesses as facts.

HOW
- We know you&#039;re talking about Phusion, I like your honesty, please leave out the self-indulgant &quot;we&#039;re sooooo much better than everyone else out there&quot; statements. I would not be reading your post, if I was not contemplating testing Phusion 3 in beta, or researching its sources to find a solution to my problem. 

For example, don&#039;t get caught raising bars that are over your head. Let me LOWER yours a little for you:

&quot; Instead of using words convince them, we would rather convince them with real results. Phusion Passenger 3 raises the bar in the areas of performance, stability, robustness and availability yet higher, but it doesn’t stop here.&quot;

Phusion Passenger 3 is here implicitly compared to other Rails servers,  of which - frankly - there aren&#039;t too many. You are not raising any bars in the minds of the people doubting &quot;Ruby in Production&quot;. And it&#039;s counter-productive to blabber like this to them. Their bars are actually a lot higher, they consider your technology ancient, and - like me - wonder why you didn&#039;t put it in in the first place. How can you do without it? What else are you missing, that is required to make seriously heavy production systems stable and robust? 

Finally, I find it striking that you even bring up raising bars, instead of just being honest and saying something like:

&quot;Instead of using words to convince people, we prefer to be judged by our results. We challenge any Phusion 2 site, as heavy as can be, to try Phusion 3, and try out the test scenarios we featured in this article. If you get Phusion 3 to drop a single request, we&#039;ll buy you a pizza. Success or failure, in either case, we expect you to blog it. :-)&quot;

 
To catch all this in two sentences:
Microsoft tried to repeat that their product &quot;Bob&quot; was so awesome it was beyond awesomeness. This MS Bob technology inside! Apple&#039;s iPhone just makes you quiet the first time you use it, while Jobs says &quot;This is nice huh? It&#039;s running BSD Unix, like our computers. That&#039;s as stable as we can make it for you.&quot; References and technological modesty. There you have it.</description>
		<content:encoded><![CDATA[<p>This discussion started on Twitter, where I called your attitude &#8220;pompous&#8221;, to my close friends, but open to see for people on Twitter. That is un-chique, so NinH rightfully claimed he was defenseless &#8211; be it a bit sensitive, but still. Furthermore, I don&#8217;t have time to make this into a lengthy discussion, it serves neither of us, so don&#8217;t count on us getting to an agreement. </p>
<p>I will explain my wording. </p>
<p>But first, you need to know that I think Passenger is a good product, a valuable addition to the open source world. It is by far the best way to serve up a rails app. I use it myself.</p>
<p>I&#8217;ve seen you guys presenting, I read some blog posts, so I tend to generalize. Again, that&#8217;s unfair, so I&#8217;ll stick to just this one post, technology preview 2.<br />
Pompous means making yourself look &#8216;annoyingly self-important&#8217;, but it&#8217;s of course highly opinionated. Henceforth, I can only give two key pieces of constructive feedback that would make your posts/presentations seem LESS POMPOUS to me (I.E. less annoying).</p>
<p>1. Point readers to the good ideas you borrowed, give credit.<br />
(You did not invent the concept Watchdog, nor the SIGTERM/SIGKILL signalling, nor the rolling updates for multiple server instances. You just re-implemented these. )</p>
<p>BECAUSE:<br />
- If you provide the reference you can explain it in the &#8220;for dummies&#8221; style like you do so well, but the references earn trust from serious (&#8220;enterprisy&#8221;?) people. You need the serious people to grow the community.<br />
-If you provide the reference, maybe you will inspire someone to read them, who can actually apply the same concepts, AS WELL AS OTHER CONCEPTS FOUND IN THE SAME BOOK/SOURCE. While looking up the sources of the stuff you borrowed, they will find solutions to their OTHER PROBLEMS and &#8211; again, implement them for the greater good.</p>
<p>By leaving out references you imply that you &#8216;invented&#8217; stuff, which you clearly haven&#8217;t, which looks self-important (and ignorant) to people who know this stuff.<br />
BTW: If you are now saying: &#8220;But really, I never read about this, I just built it&#8221;, then &#8211; indeed you are re-inventing the wheel and you really should read more books.</p>
<p>2. Separate your marketing fluff from your educational writing<br />
(If you are making time to educate people, don&#8217;t get caught inserting unsupported marketing claims in between. For example this is pure nonsense, and very much unneeded:</p>
<p>&#8220;The codebase extensively uses C++ idioms that promote code stability, such as smart pointers and RAII. Because of this, the possibility that the watchdog contains crashing bugs is extremely low.&#8221;</p>
<p>How extremely low? Once in a million years? How do you know that? Low compared to what? Aren&#8217;t you essentially saying &#8220;well we use a programming language, and some libraries, we followed other smart people&#8217;s guidelines and since it&#8217;s only a small codebase, and because we tested it quite a lot, we HOPE there are fewer bugs in that component, than in the average work WE deliver.&#8221; That&#8217;s about what you have, anything more, is plain self-important.</p>
<p>BECAUSE<br />
- You write to educate others, to show by example how Phusion strives to take Rails to higher levels. And probably to inspire others to do the same, with similar openness. If you start &#8216;selling&#8217; yourself or your product, inspiration is lost. Whom did you learn most from at University; the all-knowing arrogant professor, or the modest and forgiving Ph.D. assistant?<br />
- You loose your credibility whenever people find out you are presenting guesses as facts.</p>
<p>HOW<br />
- We know you&#8217;re talking about Phusion, I like your honesty, please leave out the self-indulgant &#8220;we&#8217;re sooooo much better than everyone else out there&#8221; statements. I would not be reading your post, if I was not contemplating testing Phusion 3 in beta, or researching its sources to find a solution to my problem. </p>
<p>For example, don&#8217;t get caught raising bars that are over your head. Let me LOWER yours a little for you:</p>
<p>&#8221; Instead of using words convince them, we would rather convince them with real results. Phusion Passenger 3 raises the bar in the areas of performance, stability, robustness and availability yet higher, but it doesn’t stop here.&#8221;</p>
<p>Phusion Passenger 3 is here implicitly compared to other Rails servers,  of which &#8211; frankly &#8211; there aren&#8217;t too many. You are not raising any bars in the minds of the people doubting &#8220;Ruby in Production&#8221;. And it&#8217;s counter-productive to blabber like this to them. Their bars are actually a lot higher, they consider your technology ancient, and &#8211; like me &#8211; wonder why you didn&#8217;t put it in in the first place. How can you do without it? What else are you missing, that is required to make seriously heavy production systems stable and robust? </p>
<p>Finally, I find it striking that you even bring up raising bars, instead of just being honest and saying something like:</p>
<p>&#8220;Instead of using words to convince people, we prefer to be judged by our results. We challenge any Phusion 2 site, as heavy as can be, to try Phusion 3, and try out the test scenarios we featured in this article. If you get Phusion 3 to drop a single request, we&#8217;ll buy you a pizza. Success or failure, in either case, we expect you to blog it. <img src='http://blog.phusion.nl/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> &#8221;</p>
<p>To catch all this in two sentences:<br />
Microsoft tried to repeat that their product &#8220;Bob&#8221; was so awesome it was beyond awesomeness. This MS Bob technology inside! Apple&#8217;s iPhone just makes you quiet the first time you use it, while Jobs says &#8220;This is nice huh? It&#8217;s running BSD Unix, like our computers. That&#8217;s as stable as we can make it for you.&#8221; References and technological modesty. There you have it.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

