5 ms·
The environment is based on V8, which provides a lot of tools to sandbox javascript code. There's some other pretty cool technology there - we might write a mor
by lacker 14y ago
The environment is based on V8, which provides a lot of tools to sandbox javascript code. There's some other pretty cool technology there - we might write a more detailed blog post about it if folks are interested.
- tlack 14y agoI would love to read that. Having a strong sandbox as a tool makes all kinds of interest things possible. p.s. My last name is Lackner. Glad to meet someone else with the unfortunate Lack- prefix.
- lacker 14y agoUnfortunate? Psh. When I was a little kid I liked "Lacker" because it rhymes with "Hacker". Then I grew up and became a computer programmer. See also: http://en.wikipedia.org/wiki/Nominative_determinism http://en.wikipedia.org/wiki/Nominative_determinism
- fictorial 14y agoIn late 2009, I had an idea to create a service that would allow game developers to run JavaScript on the server to drive multiplayer games. I worked on it for about 6 months and then Apple released Game Center. It was pretty clear that my service would be eclipsed by Game Center so I threw in the towel on it. At the time, I was targeting Node.js on the server and wrote a fledgling sand-boxing tool called Jefe [1]. I'm using Parse in my current app (Lexatron [2]) and I'm loving it. I'm looking forward to see what I can run on the server side. Full circle! [1] https://github.com/fictorial/jefe https://github.com/fictorial/jefe [2] http://fictorial.com/lexatron/ http://fictorial.com/lexatron/
- equark 14y agoThis would be very interesting to lots of people. There are lots of half-baked sandbox solutions so seeing what you guys did you be interesting.
- pyrotechnick 14y agoIs it node.js?
- lacker 14y agoNo. It is built on V8 directly, adding C++ hooks for extra functionality.
- sil3ntmac 14y agoCool. I assume you guys are using an Isolate with multiple contexts/threads to deal with infinite loops and sandboxing restrictions without the overhead of additional processes? We (clay.io) are working on a very similar problem in the game space. Another question (just curious): why did you cut node out entirely? libev is awesome and it seems like you would basically have to rewrite if you used straight C++.