Hacker News new | past | comments | ask | show | jobs | submit login
Lord of the REPLs (googleappengine.blogspot.com)
80 points by mcantelon on April 14, 2009 | hide | past | favorite | 13 comments



I think it's very interesting that Google is brave enough to put this app out there from a security point of view. They are letting any random stranger without registration etc., run code inside their sandbox. For example, switch to groovy mode and enter:

println new URL('http://www.google.com').openConnection().inputStream.text

You'll see it fetches the web page and prints it out. So this app is now an anonymous proxy, of sorts, using Google's bandwidth to hit other sites. Of course, that is just the first thing that came into my head, but it seems to me there might be many ways someone evil could use this either directly to do bad things or to try and hack the app engine sandbox itself.


Yeah, there are probably lost of nasty things one could do.

The first that comes to mind it to have the have the website open itself, re-insert the command, open itself, ad overflow.

On the other hand, there are security holes in everything, and its a fun toy, so one might as well enjoy it while it lasts.


I suppose one of its goals is to test the sandbox itself for possible abuses, so that it could be fixed later.

This is primarily intended to developers which are most likely to actually find a way to abuse the sandbox.


First, a link direct to the REPL: http://lotrepls.appspot.com/

The lack of state between evaluations for the non-Lisps is unfortunate, but this is still really neat, I hope it continues to improve.

What I'd really like to see is a set of "Try Ruby"-ish interactive tutorials for each of the languages...


I tested 'while(1): print "can it hang?"' on it. It didn't hang. It didn't print anything. Just threw java.lang.OutOfMemoryError: Java heap space


Printing to standard output doesn't work. The only thing that prints are the values of the last evaluated expression it seems.


I got errors testing basic "Hello World" scenarios, too.


In python, print "hello, world" works just fine.


damn, wanted to give it a whirl, but my ctrl-space was already bound to my quick-open


"use the metacommand '/switch', for example '/switch clojure' to start coding in clojure"


sorry, I meant ctrl-enter (for evaluation)


Click on the language name and a drop down menu will appear.


Incidentally, we support clojure, jruby, jython, beanshell and javascript in Fiji, with a nice GUI interpreter and the ability to open GUI widgets. The JVM and the publicly available JVM-implementations of all these languages makes it easy.

The lotrepl webpage, though, is a nice spin of the JVM language support. Reminds me of the much-more-powerful http://codepad.org which supports C, C++, haskell, D, Lua, OCaml, and many others.

(For Fiji see: http://pacific.mpi-cbg.de , and in particular http://pacific.mpi-cbg.de/wiki/index.php/Scripting_Help )




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: