Coder Social home page Coder Social logo

websocket mode about mozrepl HOT 5 OPEN

flying-sheep avatar flying-sheep commented on July 2, 2024
websocket mode

from mozrepl.

Comments (5)

pyhedgehog avatar pyhedgehog commented on July 2, 2024

-1. WebSockets designed as a ugly pile above http protocol to allow work from browser-restricted javascript. Adding support for it to MozRepl will increase risk of remote attack of local browser from remote-origin code.
However you are right, that some message-oriented (or even object-oriented) protocol would be very usable. What about CORBA? It's object-oriented. It's cross-platform. It has libraries for almost every sane programming language (C, C++, Python, Perl to name a few). It would be very pretty to create XPCOM<->CORBA proxy generator. However this doesn't fit to this project scope.

from mozrepl.

flying-sheep avatar flying-sheep commented on July 2, 2024

everyone who actually used CORBA at some point agrees that it’s horrible and luckily all but dead, but should have died faster.

websockets would be implemented in firefox already, that’s why i had the idea to use them. they also have many implementations everywhere and command line clients exist.

but if for some reason not websockets, how about ZeroMQ? It also has implementations everywhere (even e.g. in R), is not a horrible relic from business hell, and is widely used for things like IPython.

from mozrepl.

pyhedgehog avatar pyhedgehog commented on July 2, 2024

I actually used CORBA and can't agree with you. It's comprehensible and elegant. However I can agree that it's usable for full-scale cross-process object bridge not for single-method interface (int execString(in string input, out string output)).
Why not use some human-readable message-passing protocol like used by FTP/MemCache?

from mozrepl.

flying-sheep avatar flying-sheep commented on July 2, 2024

It's comprehensible and elegant

hmm, right, this suggests it’s better than thought because it suffered from bad implementations.

Why not use some human-readable message-passing protocol like used by FTP/MemCache?

this would have the advantage of not requiring libs or complex JS to emit and parse it.

but wouldn’t it be nice to have a pretty usable console for it? i have an idea: how about adopting the ipython protocol?

then we could have the notebook, a terminal shell, and a standalone shell window as frontends for free!

from mozrepl.

pyhedgehog avatar pyhedgehog commented on July 2, 2024

All I want to say - I need to keep ability to connect to it with telnet or socat.

from mozrepl.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.