Codepad.org, a pastebin that executes code(codepad.org)
codepad.org
Codepad.org, a pastebin that executes code
http://codepad.org/
25 comments
Very, very nice. Love it. I agree with paulgb, this is something I never thought I would ever find useful, but I can already see myself sharing code snippets with others.
I might be getting greedy, but how about syntax highlighting? Although CodePad is really cool. Bravo! Keep up the great work...
I might be getting greedy, but how about syntax highlighting? Although CodePad is really cool. Bravo! Keep up the great work...
There are several pastebins with syntax highlighting: http://rafb.net/paste http://pastie.caboo.se http://pastebin.com/
Codepad have syntax highligthing. At least for ruby http://codepad.org/i30lM3MM
Suggestion: Since it's intended for code you should explicitly declare a monospaced font for the textarea. Safari uses a sans serif by default.
Will do. Thanks for pointing this out.
Very cool stuff. How are you keeping the backend secure?
You should put up a page of the most popular code samples :) And of course, let people vote them up and down.
You should put up a page of the most popular code samples :) And of course, let people vote them up and down.
The basic strategy is to run untrusted code (including compilers) under ptrace to disallow a bunch of system calls. It's also chroot jailed, and subject to resource limits and a timeout. There are more details at http://codepad.org/about
Popular code samples are a good idea! I'll add that to the to-do list.
Popular code samples are a good idea! I'll add that to the to-do list.
Ah, thanks -- the about link is not so obvious with a really wide screen browser.
Since I think every single person is going to try to do something naughty to your system, a list of the most creative attempts to hack it would be cool too.
Since I think every single person is going to try to do something naughty to your system, a list of the most creative attempts to hack it would be cool too.
Not a bad research idea.
"... Codepad.org, a pastebin that executes code ..."
Very nice. Tried "import this" & "hello world in c". There is a poll over on arclanguage that asks if users want this type of functionality (hosted arc repl). I was surprised that more didn't want this type of feature to hack with Arc ~ "A hosted repl" : http://arclanguage.org/item?id=4070
Very nice. Tried "import this" & "hello world in c". There is a poll over on arclanguage that asks if users want this type of functionality (hosted arc repl). I was surprised that more didn't want this type of feature to hack with Arc ~ "A hosted repl" : http://arclanguage.org/item?id=4070
Really cool. I thought of something related yesterday, which would be a place where people could submit code to get comments and feedback from the community about how they would have coded something differently. It would be useful for both newbies, business people, experienced programmers, web programmers, and people who've known COBOL for 20 years and want to learn about new languages. And, for each program, someone could submit code that does the same thing in a different language, especially web languages. This is really awesome and would facilitate this very easily! A good way to learn the proper way to do something, especially with web languages that may change every major version, is by asking questions of experts in an IRC chat, and then watch them argue amongst each other about the best way to implement something. This would solve that problem by letting people browse, search, or reference a particular post or example or add on to it. I'm thinking of a wiki/social news/forum/code execution app.
the individual components of what you're talking about basically exist:
http://refactormycode.com/ - comments on people's code, discussions about refactoring
http://rosettacode.org/ - common pieces of code implemented in different languages
http://refactormycode.com/ - comments on people's code, discussions about refactoring
http://rosettacode.org/ - common pieces of code implemented in different languages
Cool. This is one of those things I didn't know I needed, but give it a week and I won't be able to live without it ;).
Welcome to hacker news.
Hope you stick around :-)
Hope you stick around :-)
This is sweet. So useful for getting help with code or showing someone how to do something.
I somewhat implemented this idea before (but just with Ruby, so obviously a much smaller project.) At the time, one of my biggest to-dos was AJAX support, to allow two people (i.e. a teacher and student) to play with a piece of code together as if they were on the same machine, with either person being able to hit "re-run" at any time and both seeing the updated output. Then I started getting into the details of trying to create a shared interactive debugger, and it started to get out of my range of ability ;).
One suggestion for this, though, copied from something I did in my little project: provide another field (optional, perhaps hidden by default) for batch STDIN, so it doesn't crash on the sample here (a simple Ruby call to gets): http://codepad.org/xz0E5olm
One suggestion for this, though, copied from something I did in my little project: provide another field (optional, perhaps hidden by default) for batch STDIN, so it doesn't crash on the sample here (a simple Ruby call to gets): http://codepad.org/xz0E5olm
Lua would be a nice and easy addition. in particular WoW uses it for its UI mods
How about some JavaScript support. Here's I'll help:
document.write(eval(inputString));
Of course that lacks any sort of security measures...This reminds me a bit of that site Utility Mill, but, of course, that one is for long-term versioned Python code.
Nice work.
Nice work.
Why not include a prettier editor?
http://www.cdolivet.net/editarea/
Or maybe open an API so that other people can extend it?
http://www.cdolivet.net/editarea/
Or maybe open an API so that other people can extend it?
Darn, my code snippet to call system("rm -rf /") was met with some nonsense about forking disallowed.
Well, you could always skip forking: http://codepad.org/BThbEnMn
So was mine with while(fork()); :)
Seriously, very very cool app!
Seriously, very very cool app!
I tried to write an infinite loop in C, but couldn't remember what I had to include. FAIL.
Nothing: http://codepad.org/t74Brroa
you're doing it wrong
http://codepad.org/0COPIsn9
http://codepad.org/0COPIsn9
http://codepad.org/H2wMdxsA
Didn't know this one about python. Thanks kilowatt.
By the way I can't "paste and run": Error 500 Internal Server Error. Looks like the site is popular as it gets (well deserved).
Didn't know this one about python. Thanks kilowatt.
By the way I can't "paste and run": Error 500 Internal Server Error. Looks like the site is popular as it gets (well deserved).
wow. that worked.http://codepad.org/sXwnOWm4
Will there be any PHP support?
If there were it would mean the end of codepad.org. Think of the security implications of allowing anyone to run PHP on their server.
Think of the security implications of allowing anyone to run any language on their server. It doesn't matter if it's PHP, Ruby, or C++, since they all allow shell and filesystem access, unbounded recursion, and all the other goodies that make sandboxing interesting.
The trick would be to run PHP as a command-line scripting language, just like the others.
The trick would be to run PHP as a command-line scripting language, just like the others.
Afaik, the only (reasonably common) languages with good sandboxes are Tcl and Java. Like they said above, they're the ones building the sandbox, not the language.
Lua has excellent support for building sandboxes for untrusted user code.
Interesting - but what do you mean 'building' sandboxes?
i'm not exactly sure what he's talking about, but there's 2 things Lua has here. one is that the language is functional, so you can replace, alter, or remove the dangerous functions. the other is that you can specify the variable 'environment' of a function with a table (Lua's hash.) so you can construct its environment in an 'opt-in' basis and know for sure everything you're allowing the function to do is safe. and of course these things would be meaningless if built-in functions didn't behave like user functions
Upmodded and done for Lua.
You can map down a few languages to JVM executable bytecode, can't you?
In what way does Java provide sandboxing of untrusted code?
Untrusted Java web start applications and Java applets can't do anything that could harm the real operating system. We had to buy and keep on renewing an expensive code-signing cert so our app could save a local file.
Every once in a while, a security researcher claims to have gotten untrusted bytecode to run outside the boundaries of the sandbox.
Oh just quit it. You and I both know that PHP can be made to run safely in this type of environment.
I would be more worried about C... which this already runs (apparently securely)
Really cool. Well done!
Awesome. Future suggestion (for python), add in some external modules like scipy. Then it would be possible to send examples of some of the more obscure modules. Really nice app.
c/c++ is broken. Doesn't support this:
int x = 4; x++; printf("x: %d\n",x);
How can you say you support c/c++ when you don't support ++?
int x = 4; x++; printf("x: %d\n",x);
How can you say you support c/c++ when you don't support ++?
You're doing it wrong:
C: http://codepad.org/6vIUD7fk
C++: http://codepad.org/QEuJE8LX
C: http://codepad.org/6vIUD7fk
C++: http://codepad.org/QEuJE8LX
[deleted]
Upvoted!
Now all it needs is an embeddable widget and this would take over coding blogs and forums.