[HN Gopher] Show HN: I made an in-browser code editor with code ...
___________________________________________________________________
Show HN: I made an in-browser code editor with code replay and REPL
I made a Logicboard.com -- A collaborative code editor with code-
replay feature. Code-replay lets you run the coding session like a
movie, I wrote a blog post on how I implemented this:
https://logicboard.com/blog/code-replay You can try out the demo
here: https://logicboard.com/demo/:replay And play around with the
code editor here: https://logicboard.com/demo/ Logicboard also has
an REPL shell, just type "start()" and hit enter in the output
area.
Author : logicboard
Score : 48 points
Date : 2023-05-26 19:06 UTC (3 hours ago)
(HTM) web link (logicboard.com)
(TXT) w3m dump (logicboard.com)
| andrewstuart wrote:
| Is that code mirror?
| ceepee wrote:
| I'm curious if anyone would like to use the code-execution as a
| service. It's basically a websocket based API where you send a
| blob of code and get execution result as response.
|
| In case of REPL, you send STDIN to websocket and get STDOUT as
| response. All code execution happens in separate Docker
| containers.
| camdenreslink wrote:
| Docker containers probably aren't enough isolation. But throw
| some firecrackervm in the pot and you've got a stew going.
| rohitpaulk wrote:
| Repl.it uses Docker containers too, only recently started
| work on moving to better isolation mechanisms like VMs
| wahnfrieden wrote:
| I'm using https://github.com/live-codes/livecodes to just
| move it all completely into the client with a replit-like
| alternative thing we're working on
| vikp wrote:
| This would be interesting to me. There are a few options now,
| like Judge0, but the language versions are pretty out of date.
| Self-hosting is not a good time investment at the moment.
|
| Email me at hn at vikas.sh if you have a service. I'd need an
| SLA for sure, and multi-file support would be nice to have.
| paulgb wrote:
| We serve production code execution use cases (mainly Python)
| with Jamsocket: https://jamsocket.com/
|
| We've been running it for over a year and would be willing to
| talk about an SLA. Each instance gets its own gvisor-
| sandboxed runtime and we do some network isolation on top of
| that. (We also have some crypto miner mitigation, because if
| you provide free compute to strangers they _will_ manage to
| find you.)
| LoganDark wrote:
| > In case of REPL, you send STDIN to websocket and get STDOUT
| as response.
|
| I wonder if repl.it ever did this, or if they've always used
| WebAssembly? (They definitely use wasm now.)
| Takennickname wrote:
| Where is the code being executed?
| nacs wrote:
| This allows outbound network access, allows program execution
| (within the container) and more.
|
| You might want to restrict some of these things before Amazon
| shuts your account down for abuse requests.
|
| You're basically handing everyone on the internet an EC2 instance
| to do literally anything with -- it'll be minutes to hours before
| this gets abused.
|
| `uname` output from the container for example: Linux a976bf3f5ff7
| 4.14.193-113.317.amzn1.x86_64 #1 SMP Thu Sep 3 19:08:08 UTC 2020
| x86_64 x86_64 x86_64 GNU/Linux
___________________________________________________________________
(page generated 2023-05-26 23:00 UTC)