Glot.io: Open Source pastebin with runnable snippets and API
glot.io
glot.io
Before I shut mine down it could run 13 or so different languages, spin up collaborative REPLs for Node.js/Python/Ruby, and organize snippets into tutorials/lessions, etc. It was awesome, but now sits in my side project graveyard. It's a shame really.
Glad to see glot.io getting more attention.
website: https://github.com/prasmussen/glot-www
snippets: https://github.com/prasmussen/glot-snippets
runner-web: https://github.com/prasmussen/glot-run
runner-onserver: https://github.com/prasmussen/glot-code-runner
containers: https://github.com/prasmussen/glot-containers
EDIT: And this is directly from the main github source repository -- https://github.com/prasmussen/glot
To me the obvious choice for this would be to use a DVCS repo for each "glot", and create files inside it, just like Gist does. I personally would prefer this be mercurial repos' but I'd probably just make it support git too.
I'd probably also use libvirt rather than Docker specifically, to allow for more flexible setups.
And my guess as to different parts of the application has been developed in different languages and to the use of two db's are for educational purposes.
A more sane design would be to use something like emscripten to enable all these different languages to run in the browser.
Could you point to some resources that show that it is possible to break out of Docker containers? I understand that there have been bugs in the past that have caused this (using that to conclude that glot.io shouldn't use Docker is a bit like saying OpenSSL is now useless because of heartbleed) but it seems unlikely that breaking out of containers is possible due to the way Docker is designed.
https://github.com/docker/docker/issues/12317 https://github.com/gabrtv/shocker
https://www.oreilly.com/ideas/docker-security
I'm sure there will be more
Edit: yup, as cited below: https://conference.hitb.org/hitbsecconf2016ams/sessions/esca...
But given the fact that Linux doesn't have real containers, I feel very conflicted about opening that up to the internet.
Kudos!
MIT license
Haskell infrastructure
Containered
Open source everything -- runners, site, etc
Very nice!
glot-snippets and glot-run are both erlang APIs, and glot-code-runner is a go application.
How does the rocket science work here? Like how do you run different programming languages in the client side.
Do they pass the code to the server and run it in there then pass it to the client?
Guess I better start learning about docker/containers soon
Edit: I do wish it had a more recent version of node though (currently v0.12.7)
Other than that, awesome job!
> Ace is used as the code editor. Make sure to check out the leftmost and rightmost tabs, where you can select language version, set a custom run command and change the editor keybindings.
[1] https://github.com/prasmussen/glot
Pet Peeve: There is no way to post ASCII diagrams on HN
snippets.glot.io glot.io run.glot.io
┌──────────────────┐ http ┌──────────────────┐ http ┌──────────────────┐
│ glot-snippets │◀─────────│ glot-www │─────────▶│ glot-run │
└──────────────────┘ └──────────────────┘ └──────────────────┘
│ │ │
http │ │ http │
▼ ▼ ▼
┌──────────────────┐ ┌──────────────────┐ ┌ ─ ─ ─ ─ ─ ─ ─ ─ ─
│ couchdb │ │ postgresql │ docker │
└──────────────────┘ └──────────────────┘ └ ─ ─ ─ ─ ─ ─ ─ ─ ─
Almost works. I just pasted it as code.The markup documentation is linked from the FAQ, and the FAQ is linked from the bottom of each page.