I made a service to enable me to easily monitor long-running experiments (e.g. training neural nets). I thought it would be generally useful, so I'm opening it up to the public. I'm curious to hear what you all think!
1. An accounts system would be great so that I could just run ``python experiment.py | seashells u=almostarockstar p=hunter2`` or similar with keys, and then have a bookmark on my phone to view seashells.io/u/almostarockstar.
2. A self hosted / open source option would be awesome.
3. A way to view other peoples public seashells urls would make this interesting.
4. Possible options to allow html output which could be paired with a css file attached to your account.
Can't wait to set this up with my own experiments
(evolutionary computation).
An accounts system is coming in the next version. The public seashells URLs / HTML/CSS output ideas sounds neat, I'll add them to the potential features list!
I'm not sure if the code is going to be open-sourced, but I'm adding TLS and also client-side encryption in the next version.
The HTML idea is neat, but something to bear in mind unless you host this content on a separate domain/subdomain (think githubusercontent.com vs github.com) any Javascript embedded in that HTML will be able to read/write cookies, make XMLHttpRequests, etc against the seashells.io domain. Which could in turn cause some fairly serious security issues with any accounts system you plan on adding.
But seeing as view urls are quite shortlived by the sound of it, you shouldn't have too much of a problem moving their location from seashells.io/v/{url} to something like v.seashells.io/{url} if you do end up introducing some kind of HTML mode.
You should never provide passwords on the command line, since command lines can be shown/stored in any number of places (examples: shell history, process listings).
I've been linux for about 10 years and I would have no idea to do what you just said. The benefit is obviously that it is extremely straightforward to use.
Looks similar to the "bpipe" project I was experimenting with three years ago, except it appears seashells is only a one-way pipe ( can't pipe data back from browser into Unix pipe ).
The project I made has two two-way bindings from Unix pipes directly to DOM elements and supports DOM events.
I love the idea but I'm very wary of piping shell output directly to a third party. Command line tools are notorious for outputting sensitive data to stdout.
Any chance we can get a self hosted version? It would be awesome if I could host it internally!
Sweet! Very cool tool and can directly think of a few nice use cases for it.
Something to demo the "real-time" aspects is to use it together with IPFS's P2P pubsub functionality.
ipfs daemon --enable-pubsub-experiment
# Daemon now running with pubsub
ipfs pubsub sub mytopic | nc seashells.io 1337
# And now, everything you publish to "mytopic" appears on the seashell website
ipfs pubsub pub mytopic "Hello World"
# See content on website
No, I'm realistic. Very often my meetings with VCs start with "How many users can you get?". They don't care about the product per se, they care about registered users, because the more users, the easier it is to sell the product at a good price. Yes, I prefer services without registration, too. No, these usually don't last long. That's reality.
Thanks for the VC 101 lecture, but OP might not be looking for VC money and it's hardly an expensive service to run with the current limit of 5 users per IP.
If you actually look through the site, OP mentions plans to add an accounts system soon for power users.
We don't know what kind of plans OP has for seashells. With a healthy base of power users, and no board of VC investors trying to milk it for all it's worth, a concurrent service that doesn't need registration is entirely plausible. That's reality.
My comment didn't refer to seashells in particular, but no-registration services the parent mentioned. Once the service becomes really popular, it usually either breaks or the owner realizes they need to do something to at least cover the costs of running. true, this could never happen to seashells as the service is quite specialized.
This is pretty neat. I wrote something similar at one point: see wtee [1] and tailon [2]. They're both small, self-hosted tornado + sockjs + vanilla typescript webapps.
I wrote something like this a few years ago, except you could write shell scripts to transform the output to HTML. For example, if you have a CSV file, you could write a plugin to turn it into an HTML table.
This was mildly successful, although I didn't feel the UI was that great. It can be a little awkward to have the GUI in a separate window than the CLI.
Really I wanted some kind of tiling window manager, but I tried a few and they were surprisingly uncomfortable for a heavy CLI user like myself.
I still think there is some way to unify the CLI and GUI that hasn't been invented.
You could do something similar with https://papertrailapp.com/ or something else that support plain text forwarding. The advantage is that it would also support encryption, that this one does not seem to support.
The advantage that I can see of this service is that it does not require any setup.
Disclaimer: I don't work for Papertrail or anything, we just use it on work to store our logs.
Yeah, there are other similar services (many of which do a lot more than Seashells).
The idea with Seashells was to have a zero-overhead service that was available to the public without signup (kind of in the spirit of a URL shortener: anyone can make a short URL with no hassle).
Password-based client-side encryption is coming in the next version (so you won't need to trust the server operator anymore).
How exactly would you imagine this being integrated with Slack? Would you want to share stuff from your terminal into Slack? Or you want to share content from Slack?
Slightly different from https://github.com/mthenw/frontail but similar type of thinking. Will be interesting to see how you can evolve security and management.
In a sense, it's a no-signup-required hosted version of frontail where the client and server are separated and you don't need a server with a public IP to use it.
Oh, I should update the text to clarify: sessions are garbage collected 24 hours after the program has terminated (so after there's no possibility of the program producing more output).
There will probably be more options for persistence once there's an accounts system (to prevent abuse).
I made a service to enable me to easily monitor long-running experiments (e.g. training neural nets). I thought it would be generally useful, so I'm opening it up to the public. I'm curious to hear what you all think!
Read a little bit more about the motivation here, if you're interested: http://www.anishathalye.com/2017/07/10/seashells/