Live data from Hacker News

Show HN: I made an in-browser code editor with code replay and REPL

logicboard.com

21–29 of 29 posts

Re: Show HN: I made an in-browser code editor with code replay and REPL

#21
post #2

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.

> I'm curious if anyone would like to use the code-execution as a service. I am sure there are many whom would. Some may use it ethically, but many will not. All will place liability on the service.

I built this with AWS Lambda. Relevant info if someone else wanted to try my approach to build such a service: https://mattslifebytes.com/2023/04/14/from-rebuilds-to-reloa...

Re: Show HN: I made an in-browser code editor with code replay and REPL

#22
Just to add to the other voices: executing untrusted code can be extremely dangerous. There’s so many ways to shoot yourself in the foot. I’m not sure if container boundaries are sufficient but each repl shouldn’t share a namespace with the others at the very least.

That said it’s pretty smooth and actually usable on mobile. Pretty polished too.

Re: Show HN: I made an in-browser code editor with code replay and REPL

#23

Is that code mirror?

Yep, Codemirror + Firepad

I'm creating a product with an editor.

I'm interested to know whether you evaluated alternatives such as Monaco by Microsoft/VSCode? From my research it seems to be the one that's "ahead" by whatever metrics you'd go off other than age.

I'm interested to know what challenges you faced if any as well? Thanks!

Re: Show HN: I made an in-browser code editor with code replay and REPL

#24
post #9

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.1…

We do something similar for our Interactive projects at datawars.io. It took less than a week until we found out that someone was mining bitcoin in our project notebooks :)

We've restricted all outbound traffic since then.

Re: Show HN: I made an in-browser code editor with code replay and REPL

#26
post #13

Earlier quoted context omitted.

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

Nope, every repl is running in a docker container on a GCP vm, with various other security measures. See: https://news.ycombinator.com/item?id=19215175 I believe the very first version of replit was all in-browser, but no longer

> Nope, every repl is running in a docker container on a GCP vm, with various other security measures.

Wow, that's a change. I remember using replit with Python compiled to wasm. It was neat for a few seconds.

Re: Show HN: I made an in-browser code editor with code replay and REPL

#27

Earlier quoted context omitted.

Yep, Codemirror + Firepad

I'm creating a product with an editor. I'm interested to know whether you evaluated alternatives such as Monaco by Microsoft/VSCode? From my research it seems to be the one that's "ahead" by whatever metrics you'd go off other than age. I'm interested to know what challenges you faced if any as well? Thanks!

Monaco doesn't work on mobile, if you care about this.

Re: Show HN: I made an in-browser code editor with code replay and REPL

#28
post #27

Earlier quoted context omitted.

I'm creating a product with an editor. I'm interested to know whether you evaluated alternatives such as Monaco by Microsoft/VSCode? From my research it seems to be the one that's "ahead" by whatever metrics you'd go off other than age. I'm interested to know what challenges you faced if any as well? Thanks!

Monaco doesn't work on mobile, if you care about this.

Interesting. What do you mean by "doesn't work"?

Not responsive? Bad touch controls?

Codemirror is different?

Re: Show HN: I made an in-browser code editor with code replay and REPL

#29
post #27

Earlier quoted context omitted.

Monaco doesn't work on mobile, if you care about this.

Interesting. What do you mean by "doesn't work"? Not responsive? Bad touch controls? Codemirror is different?

Monaco does not support mobile (touch) use, but CodeMirror does actively maintain mobile (touch) support. https://github.com/microsoft/monaco-editor/issues/246
Post reply on HN