<?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: Juggernaut: Comet for Rails?</title>
	<atom:link href="http://ajaxian.com/archives/juggernaut-comet-for-rails/feed" rel="self" type="application/rss+xml" />
	<link>http://ajaxian.com/archives/juggernaut-comet-for-rails</link>
	<description>Cleaning up the web with Ajax</description>
	<lastBuildDate>Wed, 17 Mar 2010 23:37:29 -0500</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Michael Carter</title>
		<link>http://ajaxian.com/archives/juggernaut-comet-for-rails/comment-page-1#comment-253346</link>
		<dc:creator>Michael Carter</dc:creator>
		<pubDate>Tue, 31 Jul 2007 04:02:25 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/archives/juggernaut-comet-for-rails#comment-253346</guid>
		<description>&lt;a href=&quot;http://heyadayo.wordpress.com/2007/07/31/juggernaut-is-not-a-good-idea/&quot; rel=&quot;nofollow&quot;&gt; Juggernaut is not a good idea.&lt;/a&gt; In expressing this sentiment, I wrote an entire blog post. I believe this article to be factually incorrect, and my reasons are posted on my blog.</description>
		<content:encoded><![CDATA[<p><a href="http://heyadayo.wordpress.com/2007/07/31/juggernaut-is-not-a-good-idea/" rel="nofollow"> Juggernaut is not a good idea.</a> In expressing this sentiment, I wrote an entire blog post. I believe this article to be factually incorrect, and my reasons are posted on my blog.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Siuying</title>
		<link>http://ajaxian.com/archives/juggernaut-comet-for-rails/comment-page-1#comment-252195</link>
		<dc:creator>Siuying</dc:creator>
		<pubDate>Sun, 01 Jul 2007 18:10:46 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/archives/juggernaut-comet-for-rails#comment-252195</guid>
		<description>I have a experiment to use only Ruby on Rails + AJAX + Mongrel + ActiveMQ to archive same real time function without Flash dependency. Check it out here: http://www.reality.hk/articles/2007/07/01/736/</description>
		<content:encoded><![CDATA[<p>I have a experiment to use only Ruby on Rails + AJAX + Mongrel + ActiveMQ to archive same real time function without Flash dependency. Check it out here: <a href="http://www.reality.hk/articles/2007/07/01/736/" rel="nofollow">http://www.reality.hk/articles/2007/07/01/736/</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Nic</title>
		<link>http://ajaxian.com/archives/juggernaut-comet-for-rails/comment-page-1#comment-250410</link>
		<dc:creator>Nic</dc:creator>
		<pubDate>Sat, 12 May 2007 05:20:27 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/archives/juggernaut-comet-for-rails#comment-250410</guid>
		<description>A lot of work has been done updating Juggernaut since the last posts. Check here for the most up-to-date information:

http://ncavig.com/blog/</description>
		<content:encoded><![CDATA[<p>A lot of work has been done updating Juggernaut since the last posts. Check here for the most up-to-date information:</p>
<p><a href="http://ncavig.com/blog/" rel="nofollow">http://ncavig.com/blog/</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: -TMA-1- &#187; links for 2006-11-06</title>
		<link>http://ajaxian.com/archives/juggernaut-comet-for-rails/comment-page-1#comment-164689</link>
		<dc:creator>-TMA-1- &#187; links for 2006-11-06</dc:creator>
		<pubDate>Mon, 06 Nov 2006 00:22:54 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/archives/juggernaut-comet-for-rails#comment-164689</guid>
		<description>[...] Ajaxian Â» Juggernaut: Comet for Rails? (tags: Tech WebDev AJAX Comet RubyOnRails) [...]</description>
		<content:encoded><![CDATA[<p>[...] Ajaxian Â» Juggernaut: Comet for Rails? (tags: Tech WebDev AJAX Comet RubyOnRails) [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Anonymous</title>
		<link>http://ajaxian.com/archives/juggernaut-comet-for-rails/comment-page-1#comment-131197</link>
		<dc:creator>Anonymous</dc:creator>
		<pubDate>Sun, 15 Oct 2006 20:17:17 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/archives/juggernaut-comet-for-rails#comment-131197</guid>
		<description>&lt;strong&gt;Juggernaut -- push content to your Rails app (comet)&lt;/strong&gt;

Collaborative apps, from chat to real-time collaboration, can be created once you add the ability to push and pull data to and from your rails app. Find out how.</description>
		<content:encoded><![CDATA[<p><strong>Juggernaut &#8212; push content to your Rails app (comet)</strong></p>
<p>Collaborative apps, from chat to real-time collaboration, can be created once you add the ability to push and pull data to and from your rails app. Find out how.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Terry</title>
		<link>http://ajaxian.com/archives/juggernaut-comet-for-rails/comment-page-1#comment-82854</link>
		<dc:creator>Terry</dc:creator>
		<pubDate>Mon, 04 Sep 2006 13:09:31 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/archives/juggernaut-comet-for-rails#comment-82854</guid>
		<description>I tried this plus-in. It&#039;s cool especially to implement a web page based online chat. While I meeting one problem as below:
I think it&#039;s still about firewall things. The warning message is:
&quot;there has been an error connectin. please check the push server and make sure your firewall has the correct ports open&quot;
For my understanding, this is because of my adsl service provider block the 443 port, is it correct? Could you pls kindly advise on it? And is there some better solution to handle such problem?
Many thanks</description>
		<content:encoded><![CDATA[<p>I tried this plus-in. It&#8217;s cool especially to implement a web page based online chat. While I meeting one problem as below:<br />
I think it&#8217;s still about firewall things. The warning message is:<br />
&#8220;there has been an error connectin. please check the push server and make sure your firewall has the correct ports open&#8221;<br />
For my understanding, this is because of my adsl service provider block the 443 port, is it correct? Could you pls kindly advise on it? And is there some better solution to handle such problem?<br />
Many thanks</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Alex Russell</title>
		<link>http://ajaxian.com/archives/juggernaut-comet-for-rails/comment-page-1#comment-52241</link>
		<dc:creator>Alex Russell</dc:creator>
		<pubDate>Sun, 23 Jul 2006 04:59:07 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/archives/juggernaut-comet-for-rails#comment-52241</guid>
		<description>hey W3C,

Every modern browser I&#039;ve tested supports some variant of Comet, either via progressive-rendering hack, long-poll XHR, or mime multipart/x-mixed-replace. None of these violate the HTTP spec AFAIK. There&#039;s nothing in RFC 2616 that notes that clients should close connections as soon as possible, only that they should only hold 2 concurrent connections open to any server at any time. None of this even relies on HTTP 1.1 keepalive. It&#039;s just a server that doesn&#039;t close a connection immediately.

Regardless, the Flash-based system that Juggernaut employs *doesn&#039;t even use HTTP*. It may be sending XML over the wire, but it&#039;s a custom full-duplex socket scheme supported only by Flash clients.

If there&#039;s some part of RFC 2616 that we haven&#039;t correctly understood, a section number would be a helpful reference.

Regards</description>
		<content:encoded><![CDATA[<p>hey W3C,</p>
<p>Every modern browser I&#8217;ve tested supports some variant of Comet, either via progressive-rendering hack, long-poll XHR, or mime multipart/x-mixed-replace. None of these violate the HTTP spec AFAIK. There&#8217;s nothing in RFC 2616 that notes that clients should close connections as soon as possible, only that they should only hold 2 concurrent connections open to any server at any time. None of this even relies on HTTP 1.1 keepalive. It&#8217;s just a server that doesn&#8217;t close a connection immediately.</p>
<p>Regardless, the Flash-based system that Juggernaut employs *doesn&#8217;t even use HTTP*. It may be sending XML over the wire, but it&#8217;s a custom full-duplex socket scheme supported only by Flash clients.</p>
<p>If there&#8217;s some part of RFC 2616 that we haven&#8217;t correctly understood, a section number would be a helpful reference.</p>
<p>Regards</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: W3C</title>
		<link>http://ajaxian.com/archives/juggernaut-comet-for-rails/comment-page-1#comment-51382</link>
		<dc:creator>W3C</dc:creator>
		<pubDate>Sat, 22 Jul 2006 01:52:27 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/archives/juggernaut-comet-for-rails#comment-51382</guid>
		<description>This SHIT is ILLEGAL, according to the HTTP Spec you Idiots. You cannot do this (ie push random shit) to the unsuspecting public.

Oh yeah, you desparados will learn it the hard way.

Oh what? No freaking client in existence today allows Keep-Alive connections. So, whacha gonna push. 

IDIOTS.</description>
		<content:encoded><![CDATA[<p>This SHIT is ILLEGAL, according to the HTTP Spec you Idiots. You cannot do this (ie push random shit) to the unsuspecting public.</p>
<p>Oh yeah, you desparados will learn it the hard way.</p>
<p>Oh what? No freaking client in existence today allows Keep-Alive connections. So, whacha gonna push. </p>
<p>IDIOTS.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Alex MacCaw</title>
		<link>http://ajaxian.com/archives/juggernaut-comet-for-rails/comment-page-1#comment-50889</link>
		<dc:creator>Alex MacCaw</dc:creator>
		<pubDate>Fri, 21 Jul 2006 14:11:35 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/archives/juggernaut-comet-for-rails#comment-50889</guid>
		<description>I&#039;ve released a new version of Juggernaut that solves the firewall issue (it uses port 443 which should be unblocked with most companies). 

RE: Alex Russell - debugging isn&#039;t too difficult as you can just use flash&#039;s &#039;trace&#039; function to show any data being received. Glad to see you&#039;re looking into using flash :)</description>
		<content:encoded><![CDATA[<p>I&#8217;ve released a new version of Juggernaut that solves the firewall issue (it uses port 443 which should be unblocked with most companies). </p>
<p>RE: Alex Russell &#8211; debugging isn&#8217;t too difficult as you can just use flash&#8217;s &#8216;trace&#8217; function to show any data being received. Glad to see you&#8217;re looking into using flash :)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Chris Hamilton</title>
		<link>http://ajaxian.com/archives/juggernaut-comet-for-rails/comment-page-1#comment-50875</link>
		<dc:creator>Chris Hamilton</dc:creator>
		<pubDate>Fri, 21 Jul 2006 13:45:22 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/archives/juggernaut-comet-for-rails#comment-50875</guid>
		<description>There&#039;s really nothing revolutionary about this from a concept point of view. You&#039;re basically describing message based architectures that people have been doing for a long time. I know you feel like you&#039;re pioneering, but if you look at some of the free (and not free) msg/queue based systems out there, you&#039;ll see that 90% of your &quot;connection manager&quot; code is already written and it scales, has fail over and load balancing. 

Look at the ajax section of active MQ to see how you can do exactly what you&#039;re saying without flash. This would never fly in enterprise because of the flash dependency and the apparent lack of scalability.

http://activemq.org/site/home.html

Tibco&#039;s Messaging System
http://www.tibco.com/software/messaging/enterprisemessageservice.jsp

IBM (MQ SERIES)
http://www-306.ibm.com/software/integration/wmq/features/</description>
		<content:encoded><![CDATA[<p>There&#8217;s really nothing revolutionary about this from a concept point of view. You&#8217;re basically describing message based architectures that people have been doing for a long time. I know you feel like you&#8217;re pioneering, but if you look at some of the free (and not free) msg/queue based systems out there, you&#8217;ll see that 90% of your &#8220;connection manager&#8221; code is already written and it scales, has fail over and load balancing. </p>
<p>Look at the ajax section of active MQ to see how you can do exactly what you&#8217;re saying without flash. This would never fly in enterprise because of the flash dependency and the apparent lack of scalability.</p>
<p><a href="http://activemq.org/site/home.html" rel="nofollow">http://activemq.org/site/home.html</a></p>
<p>Tibco&#8217;s Messaging System<br />
<a href="http://www.tibco.com/software/messaging/enterprisemessageservice.jsp" rel="nofollow">http://www.tibco.com/software/messaging/enterprisemessageservice.jsp</a></p>
<p>IBM (MQ SERIES)<br />
<a href="http://www-306.ibm.com/software/integration/wmq/features/" rel="nofollow">http://www-306.ibm.com/software/integration/wmq/features/</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: A Comet is coming</title>
		<link>http://ajaxian.com/archives/juggernaut-comet-for-rails/comment-page-1#comment-50738</link>
		<dc:creator>A Comet is coming</dc:creator>
		<pubDate>Fri, 21 Jul 2006 10:33:13 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/archives/juggernaut-comet-for-rails#comment-50738</guid>
		<description>[...] Posted by massive Fri, 21 Jul 2006 10:31:51 GMT There is a new plugin for RoR that allows the server to push data to browser. No more polling for Ajax. Well this isn&#8217;t Ajax anymore. It&#8217;s very Comety if you ask me (or Ajaxian) [...]</description>
		<content:encoded><![CDATA[<p>[...] Posted by massive Fri, 21 Jul 2006 10:31:51 GMT There is a new plugin for RoR that allows the server to push data to browser. No more polling for Ajax. Well this isn&#8217;t Ajax anymore. It&#8217;s very Comety if you ask me (or Ajaxian) [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: andr3a</title>
		<link>http://ajaxian.com/archives/juggernaut-comet-for-rails/comment-page-1#comment-50727</link>
		<dc:creator>andr3a</dc:creator>
		<pubDate>Fri, 21 Jul 2006 10:09:59 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/archives/juggernaut-comet-for-rails#comment-50727</guid>
		<description>Well done Alex, I&#039;ve seen an application example and seems really cool!!! Flash player is free, V6 is available for all major platforms/browsers.
If you think that a web-app shouldn&#039;t depend on &lt;strong&gt;free&lt;/strong&gt; Flash Player, you should think that a web-app shouldn&#039;t depend on javascript too because JS is not always present or enabled, isn&#039;t right ? :D

Btw, if anyone is interested on JavaScript XMLSocket with Flash, &lt;a href=&quot;http://www.devpro.it/xmlsocket/&quot; title=&quot;JS XMLSocket&quot; rel=&quot;nofollow&quot;&gt;here there&#039;s &quot;the base&quot;&lt;/a&gt; ( of this project too ;-) )

See you</description>
		<content:encoded><![CDATA[<p>Well done Alex, I&#8217;ve seen an application example and seems really cool!!! Flash player is free, V6 is available for all major platforms/browsers.<br />
If you think that a web-app shouldn&#8217;t depend on <strong>free</strong> Flash Player, you should think that a web-app shouldn&#8217;t depend on javascript too because JS is not always present or enabled, isn&#8217;t right ? :D</p>
<p>Btw, if anyone is interested on JavaScript XMLSocket with Flash, <a href="http://www.devpro.it/xmlsocket/" title="JS XMLSocket" rel="nofollow">here there&#8217;s &#8220;the base&#8221;</a> ( of this project too ;-) )</p>
<p>See you</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Alex Russell</title>
		<link>http://ajaxian.com/archives/juggernaut-comet-for-rails/comment-page-1#comment-50610</link>
		<dc:creator>Alex Russell</dc:creator>
		<pubDate>Fri, 21 Jul 2006 06:18:57 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/archives/juggernaut-comet-for-rails#comment-50610</guid>
		<description>Mario,

Hrm, dunno about smug, but I think there&#039;s genuine excitement about seeing this stuff finally escaping out into the real world. I&#039;m stoked to see the demos that Alex MacCaw is doubtless whipping up as we speak. FWIW, we are fully intending to do an XMLSocket provider for Cometd and provide for it in the protocol spec. It just makes sense, esp given its super-low-latency characteristics.

Alas, that doesn&#039;t make it easier to debug ;-)

Regards</description>
		<content:encoded><![CDATA[<p>Mario,</p>
<p>Hrm, dunno about smug, but I think there&#8217;s genuine excitement about seeing this stuff finally escaping out into the real world. I&#8217;m stoked to see the demos that Alex MacCaw is doubtless whipping up as we speak. FWIW, we are fully intending to do an XMLSocket provider for Cometd and provide for it in the protocol spec. It just makes sense, esp given its super-low-latency characteristics.</p>
<p>Alas, that doesn&#8217;t make it easier to debug ;-)</p>
<p>Regards</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mario</title>
		<link>http://ajaxian.com/archives/juggernaut-comet-for-rails/comment-page-1#comment-50525</link>
		<dc:creator>Mario</dc:creator>
		<pubDate>Fri, 21 Jul 2006 03:50:55 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/archives/juggernaut-comet-for-rails#comment-50525</guid>
		<description>I like the idea of using the flash seems nice. I will check out Alex Russell&#039;s links (even though I dont like attacking a gnat with a Nuke) and I must say is it getting Smug in here 8P</description>
		<content:encoded><![CDATA[<p>I like the idea of using the flash seems nice. I will check out Alex Russell&#8217;s links (even though I dont like attacking a gnat with a Nuke) and I must say is it getting Smug in here 8P</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: baker</title>
		<link>http://ajaxian.com/archives/juggernaut-comet-for-rails/comment-page-1#comment-50491</link>
		<dc:creator>baker</dc:creator>
		<pubDate>Fri, 21 Jul 2006 02:57:59 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/archives/juggernaut-comet-for-rails#comment-50491</guid>
		<description>Something like FJax?
Visit http://www.fjax.net
Regards.</description>
		<content:encoded><![CDATA[<p>Something like FJax?<br />
Visit <a href="http://www.fjax.net" rel="nofollow">http://www.fjax.net</a><br />
Regards.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Alex Russell</title>
		<link>http://ajaxian.com/archives/juggernaut-comet-for-rails/comment-page-1#comment-50330</link>
		<dc:creator>Alex Russell</dc:creator>
		<pubDate>Thu, 20 Jul 2006 23:13:59 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/archives/juggernaut-comet-for-rails#comment-50330</guid>
		<description>Too bad about the flash dependency. It&#039;s not necessaray at all and will surely complicate deployment and debugging. For details on how to implement other client styles, see:

http://trac.dojotoolkit.org/browser/trunk/src/io/cometd.js

and:

http://svn.xantus.org/shortbus/trunk/cometd-twisted/cometd.py

Regards</description>
		<content:encoded><![CDATA[<p>Too bad about the flash dependency. It&#8217;s not necessaray at all and will surely complicate deployment and debugging. For details on how to implement other client styles, see:</p>
<p><a href="http://trac.dojotoolkit.org/browser/trunk/src/io/cometd.js" rel="nofollow">http://trac.dojotoolkit.org/browser/trunk/src/io/cometd.js</a></p>
<p>and:</p>
<p><a href="http://svn.xantus.org/shortbus/trunk/cometd-twisted/cometd.py" rel="nofollow">http://svn.xantus.org/shortbus/trunk/cometd-twisted/cometd.py</a></p>
<p>Regards</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Alex MacCaw</title>
		<link>http://ajaxian.com/archives/juggernaut-comet-for-rails/comment-page-1#comment-50085</link>
		<dc:creator>Alex MacCaw</dc:creator>
		<pubDate>Thu, 20 Jul 2006 16:29:16 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/archives/juggernaut-comet-for-rails#comment-50085</guid>
		<description>RE Drew:
I agree - the firewall issue is a big one. There may be away around it however with flash 9&#039;s binary sockets. However I wanted it to work for as large a range of people as possible at the moment - most people don&#039;t have flash 9. Why do this in Rails? Because you can easily parse input , escape strings and html if needs be and then generate javascript with the RJS templates. Rails makes this so easy. The alternative is to have a client - that broadcasts by going straight through the push server. This is feasible, but you&#039;d end up violating the MVC as you&#039;d have too much code in the view. Another reason why I put rails in the middle is to authenticate any broadcasts. Again you could authenticate broadcasts straight through the push server - but again, Rails makes this so easy through sessions etc. I&#039;ve already made a task manager with Juggernaut and, although this is not conclusive testing, it supports a large number of concurrent users. If you want speed - then the socket server could be rewritten in C - something not too taxing, surely. I have already thought about chat rooms - actually Richard White suggested it - and so Juggernaut has channels which clients can subscribe to. Messages can then be broadcasted on specific channels to the right clients. Stability is key and so I&#039;m looking into beefing up the push server to handle many concurrent users. Also the push server needs to be separate from rails as rails uses Fast CGI so long requests would crash it.</description>
		<content:encoded><![CDATA[<p>RE Drew:<br />
I agree &#8211; the firewall issue is a big one. There may be away around it however with flash 9&#8217;s binary sockets. However I wanted it to work for as large a range of people as possible at the moment &#8211; most people don&#8217;t have flash 9. Why do this in Rails? Because you can easily parse input , escape strings and html if needs be and then generate javascript with the RJS templates. Rails makes this so easy. The alternative is to have a client &#8211; that broadcasts by going straight through the push server. This is feasible, but you&#8217;d end up violating the MVC as you&#8217;d have too much code in the view. Another reason why I put rails in the middle is to authenticate any broadcasts. Again you could authenticate broadcasts straight through the push server &#8211; but again, Rails makes this so easy through sessions etc. I&#8217;ve already made a task manager with Juggernaut and, although this is not conclusive testing, it supports a large number of concurrent users. If you want speed &#8211; then the socket server could be rewritten in C &#8211; something not too taxing, surely. I have already thought about chat rooms &#8211; actually Richard White suggested it &#8211; and so Juggernaut has channels which clients can subscribe to. Messages can then be broadcasted on specific channels to the right clients. Stability is key and so I&#8217;m looking into beefing up the push server to handle many concurrent users. Also the push server needs to be separate from rails as rails uses Fast CGI so long requests would crash it.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jay</title>
		<link>http://ajaxian.com/archives/juggernaut-comet-for-rails/comment-page-1#comment-50076</link>
		<dc:creator>Jay</dc:creator>
		<pubDate>Thu, 20 Jul 2006 16:09:18 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/archives/juggernaut-comet-for-rails#comment-50076</guid>
		<description>Unless Adobe/Macromedia gets there act together that 95% is going to go down as more AMD64 machines are sold.  I hate not having flash on my AMD64 desktop.  But it has taught me a lesson.  No website should _DEPEND_ on Flash.</description>
		<content:encoded><![CDATA[<p>Unless Adobe/Macromedia gets there act together that 95% is going to go down as more AMD64 machines are sold.  I hate not having flash on my AMD64 desktop.  But it has taught me a lesson.  No website should _DEPEND_ on Flash.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Drew</title>
		<link>http://ajaxian.com/archives/juggernaut-comet-for-rails/comment-page-1#comment-50044</link>
		<dc:creator>Drew</dc:creator>
		<pubDate>Thu, 20 Jul 2006 15:27:40 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/archives/juggernaut-comet-for-rails#comment-50044</guid>
		<description>The firewall trouble is HUGE. If you want your application to be usable inside corporate firewalls (and why wouldn&#039;t you?) your persistent HTTP connections must be served on port 80 - nothing else will make it through the firewall. Doing it the other way, the dispatching is kind of annoying, but it&#039;s really not that hard.

Also: why do this in rails? This seems like a terrible fit. By making the push server a simple relay, you&#039;re making your life miserable. If, say, you want to log every chat message that comes in, every call to rails will have to hit the database, open a socket (non-trivial if you&#039;re handling tons of chat messages) and pass the command to the push server. Lets complicate the issue a little bit. Say you want to enable different chat rooms. Each incoming chat message will need a chat room ID on it. You&#039;ll have to do validation on those first, to make sure they&#039;re valid room IDs. Once you&#039;ve validated, you&#039;ll have to see which users are in that chat room so you know who to send too. This means at least one select per chat message. So if you&#039;re doing validation and logging, two queries per request minimum. This won&#039;t scale for anything but the most trivial application.

Sorry to rain on your parade, but I think you should rethink your architecture. Rails is pretty, sure, but it&#039;s just not for this.</description>
		<content:encoded><![CDATA[<p>The firewall trouble is HUGE. If you want your application to be usable inside corporate firewalls (and why wouldn&#8217;t you?) your persistent HTTP connections must be served on port 80 &#8211; nothing else will make it through the firewall. Doing it the other way, the dispatching is kind of annoying, but it&#8217;s really not that hard.</p>
<p>Also: why do this in rails? This seems like a terrible fit. By making the push server a simple relay, you&#8217;re making your life miserable. If, say, you want to log every chat message that comes in, every call to rails will have to hit the database, open a socket (non-trivial if you&#8217;re handling tons of chat messages) and pass the command to the push server. Lets complicate the issue a little bit. Say you want to enable different chat rooms. Each incoming chat message will need a chat room ID on it. You&#8217;ll have to do validation on those first, to make sure they&#8217;re valid room IDs. Once you&#8217;ve validated, you&#8217;ll have to see which users are in that chat room so you know who to send too. This means at least one select per chat message. So if you&#8217;re doing validation and logging, two queries per request minimum. This won&#8217;t scale for anything but the most trivial application.</p>
<p>Sorry to rain on your parade, but I think you should rethink your architecture. Rails is pretty, sure, but it&#8217;s just not for this.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tom Trenka</title>
		<link>http://ajaxian.com/archives/juggernaut-comet-for-rails/comment-page-1#comment-50026</link>
		<dc:creator>Tom Trenka</dc:creator>
		<pubDate>Thu, 20 Jul 2006 14:55:00 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/archives/juggernaut-comet-for-rails#comment-50026</guid>
		<description>I&#039;m curious: why are you base64 encoding what amounts to a string?  By doing that you&#039;ve increased the size of all of your packets by 33%...it&#039;s one thing if you&#039;re sending out actual bytecode, it&#039;s another if you&#039;re encoding a stream of bytes that already represent a string.</description>
		<content:encoded><![CDATA[<p>I&#8217;m curious: why are you base64 encoding what amounts to a string?  By doing that you&#8217;ve increased the size of all of your packets by 33%&#8230;it&#8217;s one thing if you&#8217;re sending out actual bytecode, it&#8217;s another if you&#8217;re encoding a stream of bytes that already represent a string.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
