<br><br><div class="gmail_quote">On Wed, Apr 21, 2010 at 1:31 PM, Michael Foord <span dir="ltr">&lt;<a href="mailto:mfoord@python.org">mfoord@python.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<div class="im">On 21/04/2010 18:25, <a href="mailto:skip@pobox.com" target="_blank">skip@pobox.com</a> wrote:<br></div></blockquote><div> </div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<div class="im">
<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
     &gt;&gt;  - Would Google App Engine be a suitable environment for an interactive<br>
     &gt;&gt;  Python exploratorium?<br>
     &gt;&gt;<br>
<br>
     Michael&gt;  I&#39;d rather not have our core services dependent on external<br>
     Michael&gt;  providers - but am not *strongly* against it for some of the<br>
     Michael&gt;  details.<br>
<br>
I only mentioned GAE because presumably they&#39;ve solved the problem of<br>
someone entering something simple like<br>
<br>
     print 1000 ** 1000 ** 1000<br>
   <br>
</blockquote>
<br></div>
Ah - you&#39;re talking about an &quot;interactive Python exploratorium&quot;, I missed that. Yes, implementing it on top of google app engine would be sensible.<br>
<br>
If you&#39;re not ideologically opposed to Silverlight then I have already implemented something like this called &quot;Try Python&quot; (unfortunately not yet compatible with Silverlight 4 which has just been released - I need a free weekend): <a href="http://www.trypython.org/" target="_blank">http://www.trypython.org/</a><br>

<br>
The advantage of Silverlight is that the code runs on the client not the server. The disadvantage is that it is only installed on 50% of browsers and has poor Linux support (works great on the Mac though).<br>
<br></blockquote><div class="im">
[snip]<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
which will likely take awhile to run.  GAE probably also has more hardware<br>
available so that the above sort of construct (if it hasn&#39;t been addressed)<br>
is unlikely to be an effective denial-of-service attack.  At most the PSF<br>
will probably devote a few boxes to such an application.  Execute that a few<br>
times and things can go to pot pretty quickly.  Not to mention<br>
security/sandbox issues.<br>
<br></blockquote><br>If I may jump in, this is an issue that I&#39;ve been thinking about for 2 or 3 years at least.<br><br>I can think of a few solutions - none of which are entirely satisfactory.<br><br>1. Use Crunchy (<a href="http://code.google.com/p/crunchy">http://code.google.com/p/crunchy</a>) to transform an otherwise static tutorial (like the existing Python tutorial) into an interactive Python session.  This works with the existing tutorial - except for one small &quot;obscure&quot; unicode example where the output from Crunchy does not match the output from the existing tutorial due to a Crunchy &quot;feature&quot;.  (essentially, Crunchy encodes an otherwise &quot;raw&quot; unicode string).   This works for both Python 2.x and 3.x.<br>
The HUGE disadvantage of this approach is that it requires the user to first download Python and Crunchy.<br><br>2. Port Crunchy to the GAE.  I tried this and ran into some CPU limits when using it; admittedly, I did not pursue this option very far.  The CPU limits were mostly due to the time that Crunchy would spend to transform/format a static (html or rst) page into an interactive one.<br>
<br>3. Port Crunchy to a server owned by the PSF and running some version of GAE to have slightly more generous CPU limits so that the proper processing could be performed by Crunchy.  This might be feasible...  Users would just log in (or use it anonymously) to try the tutorial.<br>
<br>4. Use Silverlight/Moonlight as mentioned by Michael Foord ... with the caveats he mentioned.<br><br>5. Have a more basic tutorial that could be handled entirely by Skulpt (<a href="http://www.skulpt.org/">http://www.skulpt.org/</a>), a javascript based Python interpreter.<br>
<br>6. Use PyPy to create a sandboxed version of Crunchy that could run on a PSF server.  I have never tried PyPy and do not know enough to comment further.<br><br>Still looking for a good working solution....<br><br>André  (Roberge)<br>
<br></div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"><font color="#888888"><a href="http://www.ironpythoninaction.com/" target="_blank"></a></font><div>
<div></div><div class="h5"><br>
<br>
_______________________________________________<br>
pydotorg-www mailing list<br>
<a href="mailto:pydotorg-www@python.org" target="_blank">pydotorg-www@python.org</a><br>
<a href="http://mail.python.org/mailman/listinfo/pydotorg-www" target="_blank">http://mail.python.org/mailman/listinfo/pydotorg-www</a><br>
</div></div></blockquote></div><br>