<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    We are using Eventlet as a Webserver,  not apache, and Eventlet does
    have websocket support.<br>
    <br>
    When using Node.js do we need to run an alternative Server than the
    Apache HTTPD for Dashboard?<br>
    <br>
    We are looking at Websockets issues for noVNC already.  One
    Potential approach is to use an Apache module for Websockets:  I am
    aware that mod_wsgi will not handle it.  Perhaps getting websocket
    support into mod_wsgi is a better way forward?<br>
    <br>
    <br>
    <br>
    <br>
    On 05/25/2012 01:54 PM, Gabriel Hurley wrote:
    <blockquote
cite="mid:BD35DBE010D5B64589500D43F775F2360AA97D3C@BY2PRD0510MB376.namprd05.prod.outlook.com"
      type="cite">
      <meta http-equiv="Content-Type" content="text/html;
        charset=ISO-8859-1">
      <meta name="Generator" content="Microsoft Word 14 (filtered
        medium)">
      <!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]-->
      <style><!--
/* Font Definitions */
@font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
        {mso-style-priority:99;
        mso-style-link:"Balloon Text Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:8.0pt;
        font-family:"Tahoma","sans-serif";}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
span.EmailStyle17
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.BalloonTextChar
        {mso-style-name:"Balloon Text Char";
        mso-style-priority:99;
        mso-style-link:"Balloon Text";
        font-family:"Tahoma","sans-serif";}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:498422150;
        mso-list-type:hybrid;
        mso-list-template-ids:125754674 1985137360 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l0:level1
        {mso-level-start-at:5;
        mso-level-number-format:bullet;
        mso-level-text:-;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:27.0pt;
        text-indent:-.25in;
        font-family:"Calibri","sans-serif";
        mso-fareast-font-family:Calibri;}
@list l0:level2
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:63.0pt;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l0:level3
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:99.0pt;
        text-indent:-.25in;
        font-family:Wingdings;}
@list l0:level4
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:135.0pt;
        text-indent:-.25in;
        font-family:Symbol;}
@list l0:level5
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:171.0pt;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l0:level6
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:207.0pt;
        text-indent:-.25in;
        font-family:Wingdings;}
@list l0:level7
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:243.0pt;
        text-indent:-.25in;
        font-family:Symbol;}
@list l0:level8
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:279.0pt;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l0:level9
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:315.0pt;
        text-indent:-.25in;
        font-family:Wingdings;}
@list l1
        {mso-list-id:959532826;
        mso-list-type:hybrid;
        mso-list-template-ids:-633539580 2120804572 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l1:level1
        {mso-level-start-at:5;
        mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:22.5pt;
        text-indent:-.25in;
        font-family:Symbol;
        mso-fareast-font-family:Calibri;
        mso-bidi-font-family:"Times New Roman";}
@list l1:level2
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:58.5pt;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l1:level3
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:94.5pt;
        text-indent:-.25in;
        font-family:Wingdings;}
@list l1:level4
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:130.5pt;
        text-indent:-.25in;
        font-family:Symbol;}
@list l1:level5
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:166.5pt;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l1:level6
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:202.5pt;
        text-indent:-.25in;
        font-family:Wingdings;}
@list l1:level7
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:238.5pt;
        text-indent:-.25in;
        font-family:Symbol;}
@list l1:level8
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:274.5pt;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l1:level9
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:310.5pt;
        text-indent:-.25in;
        font-family:Wingdings;}
@list l2
        {mso-list-id:1062951415;
        mso-list-template-ids:882524826;}
@list l2:level1
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l2:level2
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:1.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:"Courier New";
        mso-bidi-font-family:"Times New Roman";}
@list l2:level3
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:1.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l2:level4
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:2.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l2:level5
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:2.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l2:level6
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:3.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l2:level7
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:3.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l2:level8
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:4.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l2:level9
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:4.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
      <div class="WordSection1">
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">To
            elucidate a few more points from people’s responses so far:<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
        <p class="MsoListParagraph"
          style="margin-left:22.5pt;text-indent:-.25in;mso-list:l1
          level1 lfo2">
          <!--[if !supportLists]--><span
            style="font-size:11.0pt;font-family:Symbol;color:#1F497D"><span
              style="mso-list:Ignore">·<span style="font:7.0pt
                "Times New Roman"">        
              </span></span></span><!--[endif]--><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">All
            the python socket.io backends are immature projects, and
            there’s a GAPING flaw with them all: WSGI (the interface
            between web servers and Python) doesn’t support the
            handshake features that websocket communication requires.
            The WSGI standard was drafted before websockets was a thing.
            There’s a gevent lib that supports it, but it’s also
            immature and doesn’t play nice with Apache, etc. Deployment
            will get *<b>really</b>* iteresting trying to use socket.io
            with Python. I’ve tried. ;-)<o:p></o:p></span></p>
        <p class="MsoListParagraph"
          style="margin-left:22.5pt;text-indent:-.25in;mso-list:l1
          level1 lfo2">
          <!--[if !supportLists]--><span
            style="font-size:11.0pt;font-family:Symbol;color:#1F497D"><span
              style="mso-list:Ignore">·<span style="font:7.0pt
                "Times New Roman"">        
              </span></span></span><!--[endif]--><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Pypy
            *<b>is</b>* fast (I know several of the main contributors)
            but it’s as big a decision to use Pypy as it is to use node,
            but that only affects performance. It doesn’t make Django
            any more suited to real-time communication. Pypy is also a
            major new dependency that’s not packaged and it changes a
            lot of things. It’s also used by several orders of magnitude
            fewer people than node.js currently, so security there is a
            whole different concern.<o:p></o:p></span></p>
        <p class="MsoListParagraph"
          style="margin-left:22.5pt;text-indent:-.25in;mso-list:l1
          level1 lfo2">
          <!--[if !supportLists]--><span
            style="font-size:11.0pt;font-family:Symbol;color:#1F497D"><span
              style="mso-list:Ignore">·<span style="font:7.0pt
                "Times New Roman"">        
              </span></span></span><!--[endif]--><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Tornado
            and Twisted are both non-blocking web servers in Python, but
            both projects have serious peculiarities which we could dive
            into separately. And ultimately they’re not tools any of the
            Horizon contributors I’ve talked to so far are interested in
            working with, which in an open source community is pretty
            much a death knell for that solution.<o:p></o:p></span></p>
        <p class="MsoListParagraph"
          style="margin-left:22.5pt;text-indent:-.25in;mso-list:l1
          level1 lfo2">
          <!--[if !supportLists]--><span
            style="font-size:11.0pt;font-family:Symbol;color:#1F497D"><span
              style="mso-list:Ignore">·<span style="font:7.0pt
                "Times New Roman"">        
              </span></span></span><!--[endif]--><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">John
            P’s point about Javascript already being a core language
            used in Horizon is well taken. I get the “server-side
            javascript is different” mindset, but language-bashing for
            the sake of “I don’t like javascript” is no more helpful
            than Python people bashing Ruby. The fact is that Javascript
            as a language is extremely similar to Python in its syntax
            and construction (I often write my JS to PEP8 standards),
            and though it’s not as readable as Python (what is?),
            there’s no reason JS code is inherently bad. Bad programmers
            write bad code. Bad frameworks encourage bad code. Node.js
            suffers from neither.<o:p></o:p></span></p>
        <p class="MsoListParagraph"
          style="margin-left:22.5pt;text-indent:-.25in;mso-list:l1
          level1 lfo2">
          <!--[if !supportLists]--><span
            style="font-size:11.0pt;font-family:Symbol;color:#1F497D"><span
              style="mso-list:Ignore">·<span style="font:7.0pt
                "Times New Roman"">        
              </span></span></span><!--[endif]--><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">I’m
            100% in favor of code-bundling only being a short-term
            solution. When a reasonable number of distros package things
            like LESS, dropping our bundled version in favor of a
            properly-versioned package would be awesome. The fewer
            things to maintain the better.<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">All
            the best,<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
        <p class="MsoListParagraph"
          style="margin-left:27.0pt;text-indent:-.25in;mso-list:l0
          level1 lfo3">
          <!--[if !supportLists]--><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><span
              style="mso-list:Ignore">-<span style="font:7.0pt
                "Times New Roman"">         
              </span></span></span><!--[endif]--><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Gabriel<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
        <div style="border:none;border-left:solid blue 1.5pt;padding:0in
          0in 0in 4.0pt">
          <div>
            <div style="border:none;border-top:solid #B5C4DF
              1.0pt;padding:3.0pt 0in 0in 0in">
              <p class="MsoNormal"><b><span
style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span
style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">
                  <a class="moz-txt-link-abbreviated" href="mailto:openstack-bounces+gabriel.hurley=nebula.com@lists.launchpad.net">openstack-bounces+gabriel.hurley=nebula.com@lists.launchpad.net</a>
[<a class="moz-txt-link-freetext" href="mailto:openstack-bounces+gabriel.hurley=nebula.com@lists.launchpad.net">mailto:openstack-bounces+gabriel.hurley=nebula.com@lists.launchpad.net</a>]
                  <b>On Behalf Of </b>John Postlethwait<br>
                  <b>Sent:</b> Friday, May 25, 2012 9:23 AM<br>
                  <b>To:</b> Simon G.; Jay Pipes<br>
                  <b>Cc:</b> <a class="moz-txt-link-abbreviated" href="mailto:openstack@lists.launchpad.net">openstack@lists.launchpad.net</a><br>
                  <b>Subject:</b> Re: [Openstack] Fwd: Nodejs in horizon<o:p></o:p></span></p>
            </div>
          </div>
          <p class="MsoNormal"><o:p> </o:p></p>
          <div>
            <div>
              <p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:black">Hi
                  Everyone,
                  <o:p></o:p></span></p>
              <div>
                <p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:black"><o:p> </o:p></span></p>
              </div>
              <div>
                <p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:black">Sorry
                    if I've missed anything below, this thread has
                    become rather fragmented and messy (at least in my
                    email clients) but I will try to address the main
                    points I have seen so far: <o:p></o:p></span></p>
                <div>
                  <p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:black"><o:p> </o:p></span></p>
                </div>
                <div>
                  <ul type="disc">
                    <li class="MsoNormal"
                      style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l2
                      level1 lfo1">
                      <span
style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">Just
                        so that everyone is aware, the lessc parser that
                        is bundled in Horizon, while executable, is NOT
                        a binary. It is, in fact, just a 140 line JS
                        file, you can see the code here: <a
                          moz-do-not-send="true"
                          href="https://review.openstack.org/#/c/7367/4/bin/less/lessc"
                          target="_blank">https://review.openstack.org/#/c/7367/4/bin/less/lessc</a><o:p></o:p></span></li>
                    <li class="MsoNormal"
                      style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l2
                      level1 lfo1">
                      <span
style="font-size:8.0pt;font-family:"Tahoma","sans-serif"">The
                        reason I have bundled it within the Horizon
                        code, as Gabriel mentioned, is to assuage any
                        version mismatches or install issues with LESS
                        itself that may arise from having yet another
                        dependency on top of NodeJS that needs manual
                        steps to install. Also, the LESS package that
                        exists for Ubuntu is a year out of date, and
                        other distributions do not even have packages
                        for it. I would love if we could rely on the OS'
                        packages to assuage this dependency, but we
                        cannot, so this is the simplest and best-working
                        solution I could think of. It will be no more
                        difficult to maintain than jQuery, or Bootstrap,
                        in the Horizon code-base...<o:p></o:p></span></li>
                    <li class="MsoNormal"
                      style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l2
                      level1 lfo1">
                      <span
style="font-size:8.0pt;font-family:"Tahoma","sans-serif"">As
                        for distribution support, Node can be installed
                        on just about anything, see here: <a
                          moz-do-not-send="true"
href="https://github.com/joyent/node/wiki/Installing-Node.js-via-package-manager"
                          target="_blank">https://github.com/joyent/node/wiki/Installing-Node.js-via-package-manager</a><o:p></o:p></span></li>
                    <li class="MsoNormal"
                      style="color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l2
                      level1 lfo1">
                      <span
style="font-size:8.0pt;font-family:"Tahoma","sans-serif"">As
                        to the concerns about "it not being Python" or
                         "JavaScript has been abused." Well, all I can
                        say to that is no, it is not Python, and yes,
                        some developers write terrible and abusive code
                        with JavaScript. I'm sure I could find
                        horrid/abusive Python somewhere as well, but
                        doing so would not preclude our reasons to use
                        it in OpenStack. Misuse of a tool is not a
                        reason to fear the tool itself, if that were so
                        none of us would use any language, ever. Not to
                        mention, we already use a ton of JS in
                        Horizon... I'm not introducing JavaScript to
                        Horizon for the first time or anything here.<o:p></o:p></span></li>
                  </ul>
                </div>
                <div>
                  <p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:black"><o:p> </o:p></span></p>
                </div>
                <div>
                  <p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:black">I'm
                      sure I've missed some good points, but this thread
                      is a mess and is difficult to sort through... :P
                      <o:p></o:p></span></p>
                </div>
                <div>
                  <p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:black"><o:p> </o:p></span></p>
                </div>
                <div>
                  <p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:black">-John
                      Postlethwait<o:p></o:p></span></p>
                </div>
                <div>
                  <p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:black"><o:p> </o:p></span></p>
                  <div>
                    <div class="MsoNormal" style="text-align:center"
                      align="center"><span style="color:black">
                        <hr align="center" size="2" width="100%">
                      </span></div>
                    <div id="divRpF672788">
                      <p class="MsoNormal" style="margin-bottom:12.0pt"><b><span
style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:black">From:</span></b><span
style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:black">
                          <a moz-do-not-send="true"
href="mailto:openstack-bounces+john.postlethwait=nebula.com@lists.launchpad.net">openstack-bounces+john.postlethwait=nebula.com@lists.launchpad.net</a>
                          [<a class="moz-txt-link-abbreviated" href="mailto:openstack-bounces+john.postlethwait=nebula.com@lists.launchpad.net">openstack-bounces+john.postlethwait=nebula.com@lists.launchpad.net</a>]
                          on behalf of Simon G. [<a class="moz-txt-link-abbreviated" href="mailto:semyazz@gmail.com">semyazz@gmail.com</a>]<br>
                          <b>Sent:</b> Friday, May 25, 2012 7:40 AM<br>
                          <b>To:</b> Jay Pipes<br>
                          <b>Cc:</b> <a moz-do-not-send="true"
                            href="mailto:openstack@lists.launchpad.net">openstack@lists.launchpad.net</a><br>
                          <b>Subject:</b> Re: [Openstack] Fwd: Nodejs in
                          horizon</span><span style="color:black"><o:p></o:p></span></p>
                    </div>
                    <div>
                      <p class="MsoNormal" style="margin-bottom:12.0pt"><span
                          style="color:black">Maybe I've misuderstood
                          something, but I've tried to give examples of
                          other backends than node.js which can make use
                          of mentioned before
                          <a moz-do-not-send="true"
                            href="http://socket.io" target="_blank">socket.io</a>
                          and can be used to implement realtime
                          communication. I just wanted to minimize use
                          of node.js. Hmm... I'm still talking about
                          realtime communication, but it was only
                          mentioned as an example and it's not even
                          listed as a feature anywhere. So maybe my part
                          in this topic is pointless. I'll be silent
                          from now :)<br>
                          <br>
                          Cheers,<o:p></o:p></span></p>
                      <div>
                        <p class="MsoNormal"><span style="color:black">On
                            Fri, May 25, 2012 at 3:20 PM, Jay Pipes <<a
                              moz-do-not-send="true"
                              href="mailto:jaypipes@gmail.com"
                              target="_blank">jaypipes@gmail.com</a>>
                            wrote:<o:p></o:p></span></p>
                        <div>
                          <p class="MsoNormal"><span style="color:black">On
                              05/25/2012 08:41 AM, Simon G. wrote:<o:p></o:p></span></p>
                        </div>
                        <blockquote style="border:none;border-left:solid
                          #CCCCCC 1.0pt;padding:0in 0in 0in
                          6.0pt;margin-left:4.8pt;margin-right:0in">
                          <p class="MsoNormal"><span style="color:black">Hello,<br>
                              <br>
                              I don't want to be rude, but fast research
                              about point *3c* and sockets<br>
                              => PyPi search<br>
                              <<a moz-do-not-send="true"
href="http://pypi.python.org/pypi?%3Aaction=search&term=socket.io&submit=search"
                                target="_blank">http://pypi.python.org/pypi?%3Aaction=search&term=socket.io&submit=search</a>><br>
                              <br>
                               * <a moz-do-not-send="true"
                                href="http://pypi.python.org/pypi/SocketTornad.IO/"
                                target="_blank">http://pypi.python.org/pypi/SocketTornad.IO/</a><br>
                               * <a moz-do-not-send="true"
                                href="http://pypi.python.org/pypi/TornadIO2/0.0.3"
                                target="_blank">http://pypi.python.org/pypi/TornadIO2/0.0.3</a>
                              ,<br>
                                 <a moz-do-not-send="true"
                                href="https://github.com/MrJoes/tornadio2"
                                target="_blank">https://github.com/MrJoes/tornadio2</a><br>
                               * <a moz-do-not-send="true"
                                href="http://pypi.python.org/pypi/django-socketio/0.3.3"
                                target="_blank">http://pypi.python.org/pypi/django-socketio/0.3.3</a><br>
                               * <a moz-do-not-send="true"
                                href="http://mrjoes.github.com/2011/12/15/sockjs-bench.html"
                                target="_blank">
http://mrjoes.github.com/2011/12/15/sockjs-bench.html</a> <o:p></o:p></span></p>
                          <div>
                            <p class="MsoNormal"><span
                                style="color:black"><br>
                                <br>
                                How mature are those projects? I don't
                                know. I'm not an expert in<br>
                                python. I'm just trying to find
                                alternatives to Node.js if almost<br>
                                everything is in python. I'm just
                                testing Openstack and right now I'm<br>
                                trying to add something to nova, but I
                                really like horizon and if it's<br>
                                possible, I'd like to avoid node.js. I'm
                                not a fan of this technology<br>
                                even if it's popular and fast, because I
                                just have some doubts about<br>
                                Javascript and its maintainability.<o:p></o:p></span></p>
                          </div>
                        </blockquote>
                        <p class="MsoNormal"><span style="color:black"><br>
                            Hi Simon,<br>
                            <br>
                            <a moz-do-not-send="true"
                              href="http://socket.io" target="_blank">socket.io</a>
                            is a Javascript library :) 3 of the 4
                            projects you reference above use
                            <a moz-do-not-send="true"
                              href="http://socket.io" target="_blank">socket.io</a>.<br>
                            <br>
                            Best,<br>
                            -jay <o:p></o:p></span></p>
                        <div>
                          <div>
                            <p class="MsoNormal"><span
                                style="color:black"><br>
                                <br>
_______________________________________________<br>
                                Mailing list: <a moz-do-not-send="true"
href="https://launchpad.net/%7Eopenstack" target="_blank">https://launchpad.net/~openstack</a><br>
                                Post to     : <a moz-do-not-send="true"
href="mailto:openstack@lists.launchpad.net" target="_blank">openstack@lists.launchpad.net</a><br>
                                Unsubscribe : <a moz-do-not-send="true"
href="https://launchpad.net/%7Eopenstack" target="_blank">https://launchpad.net/~openstack</a><br>
                                More help   : <a moz-do-not-send="true"
href="https://help.launchpad.net/ListHelp" target="_blank">https://help.launchpad.net/ListHelp</a><o:p></o:p></span></p>
                          </div>
                        </div>
                      </div>
                      <p class="MsoNormal"><span style="color:black"><br>
                          <br clear="all">
                          <br>
                          -- <br>
                        </span><i><span style="color:#333333">Semy</span></i><span
                          style="color:black"> <o:p>
                          </o:p></span></p>
                      <div>
                        <p class="MsoNormal"><span style="color:black"><o:p> </o:p></span></p>
                      </div>
                      <p class="MsoNormal"><span style="color:black"><o:p> </o:p></span></p>
                    </div>
                  </div>
                </div>
              </div>
            </div>
          </div>
        </div>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
Mailing list: <a class="moz-txt-link-freetext" href="https://launchpad.net/~openstack">https://launchpad.net/~openstack</a>
Post to     : <a class="moz-txt-link-abbreviated" href="mailto:openstack@lists.launchpad.net">openstack@lists.launchpad.net</a>
Unsubscribe : <a class="moz-txt-link-freetext" href="https://launchpad.net/~openstack">https://launchpad.net/~openstack</a>
More help   : <a class="moz-txt-link-freetext" href="https://help.launchpad.net/ListHelp">https://help.launchpad.net/ListHelp</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>