[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)