
Show HN: Plain text for the web - saola-app
https://saola.in/about
======
salgernon
This reminds me of UserLands "Frontier", a Mac product from the early 90s. It
was a scripting language and object database. Current execution state and
scripts themselves lived in the database.

In 91 or so it was taking advantage of the macs flat address space to do rpc
between itself and apps (I wrote a module that let you receive events from the
finder).

Around 94, Dave (Winer, the author) was using to handle cgi scripts in
"usertalk" its native language, from WebStar, a Mac web server. People would
set up web based workflow to (then Mac only) apps like FileMaker and
debabelizer.

A few years after that, Dave realized he could be the server himself, and
created an app that was basically a webserver living on localhost and let you
edit locally and publish your weblogs to a static host.

So, not the same because it's not flat files, but with similar possibilities.

(And a call out to Macintosh Programmers Workshop, which was UNIX like, but
allowed selections within arbitrary files be treated as first class files -
you could execute a command to take select portion of window 1, pass it to the
compiler a land redirect error messages to a section of which now 2. Many a
build system came to life this way... Sorry nostalgia...)

------
IanCal
So first off, it's always cool to have built and released something, so
congrats on that, but these are the questions I'm left with as a potential
user:

1\. What's _different_ about this setup? What can I do that I either _can 't_
with a standard webserver setup or would be more cumbersome that way? 2\. Why
"files within files", what's different about that compared to directories and
index files?What can I do that I either _can 't_ with a standard directory
structure or would be more cumbersome that way?

If I wanted plain text at the moment + scripts, any standard webserver + CGI
would give me that right now and I could host it immediately on a large number
of hosts (or on my own). So for people like me who would go "ooh, plain text
and unix sounds nice" it'd be good to see a set of reasons why what we'd
currently do would be improved using this.

~~~
saola-app
I'll try my best to answer you. 1\. I believe you can do it with a standard
webserver setup. But when you want to share scripts and files to other users I
believe it would just become a bit more cumbersome. 2\. For me files within
files is a lot more easier. It is not possible to add comments to directories.
When you create a directory its just a string. It is not easy to add extra
information to the directory itself. I may be wrong.

Again a webserver+CGI would definitely work no doubt. The app just simplifies
it for you. Its the same thing with content management system. Its simpler to
use them rather than build it manually. Also I plan to add the ability to
share files.

~~~
pjc50
Could you elaborate a bit on "files within files"? I don't think there's an
example of that on the page.

You allow people to execute scripts on your server? How does the security
aspect of that work?

------
tra3
I like it. Very much in the spirit of nvALT [1], TaskPaper [2] and to some
extent quiver [3].

I prefer human readable formats since it avoids lock in and allows me to edit
my content on any platform. The downside of course is lack of media support.
Quiver is doing some interesting stuff in that area, but at the cost of losing
some human readability.

1: nvALT
[http://brettterpstra.com/projects/nvalt/](http://brettterpstra.com/projects/nvalt/)

2: TaskPaper
[http://www.hogbaysoftware.com/products/taskpaper](http://www.hogbaysoftware.com/products/taskpaper)

3: Quiver [http://happenapps.com/#quiver](http://happenapps.com/#quiver)

~~~
saola-app
I did think about adding Markdown support but then decided against it. But I
am not totally against it.

~~~
TuringTest
I'm curious about your reasons for deciding against it. Is it lack of
supporting tools? Increased complexity? Or something else?

~~~
saola-app
It would have taken more effort to make it fit well into the app. I am not
completely against it. So I might add it in the future.

------
mxuribe
Sounds decent enough...but do you expect to eventually offer a self-hosted
version? Not sure about others, but that would be my interest.

~~~
saola-app
Thank you. I might in the future if there is enough requests.

~~~
hanniabu
Here's one more request, I would like self hosted as well

~~~
henesy
Another here as well...I was excited up until I saw it wasn't self hosted, I
had wrongly assumed it was aimed at running a personal/internal web
server/site.

------
z3t4
I dont get it ... Is it a storage driver, web app, file manager? What makes
this better then say notepad or vim? Or saving text files on your local
system!?

~~~
saola-app
The reason I created this is that I use plain text most of the time. It was
great when using my laptop. With Emacs and shell scripts I could do a lot of
things. Keep track of issues, my finances and all. But it was so difficult to
keep it online. When I want to access it from my mobile it was not possible.
Yes there are several platforms which allow you to store files. But none which
allow you to script on them. Its like bringing the shell scripting and plain
files of UNIX to the web. Its up to you how you use it. You could store book
marks, list issues, take notes. What I think is interesting is the scripting
part especially that you can execute a script by making a POST request. This
allows you app to react on statuses from other apps.

~~~
begriffs
How about storing plain text files on a cloud server with Syncthing?
[https://syncthing.net/](https://syncthing.net/) (I'm not affiliated with
them.) I think it works on mobile and looks like it exposes a rest api too.

So you can have local scripts that affect the files and the changes will be
synced for your other devices to see.

------
Fuzzwah
I might be your target market.

I use google keep for online plain text type things. I can definitely see the
power of being able to run scripts over these kinds of notes.

For years I had been using a system which was built around yahoo pipes and
cron tasks. Pipes would suck in rss sources from a huge number of places, do
some munging and logic and output another rss feed which I would process with
a cron task to do various things based on what was in the feed.

Then yahoo killed pipes.

Can a script create a static output file?

~~~
viraptor
Have you tried lambda + s3 instead of yahoo pipes + cron? (both time and http
activation is possible) I've done something on lambda recently I'd use pipes
for (if it still existed) and been quite happy with the result.

~~~
iheartmemcache
I sort of wanted to find a use-case for Pipes and IFTTT, but I couldn't. I
think I used it a few times to hunt for craigslist deals on vintage guitar
amplifiers or something, but what specifically functionality do you (and OP)
miss about it?

~~~
Fuzzwah
The most complex thing I used pipes for was to pull in content from basically
every site around the web that I have an account on and aggregate them on a
blog of sorts.

The whole idea was that sites I use for things come and go. I could jump from
service to service, update my pipes setup. If a site died I'd just find a
replacement and move on. I always had all my content harvested and stored in
my own db.

Examples;

* any youtube video I added to my favorites would be auto embedded on my blog

* posts on blogger, wordpress, etc all pull into the one place

* images fav'd on deviantart

* pages book marked using diigo

* photos saved to whatever photo site I was currently using

Here's a screenshot from a long time ago when I originally set it up (2009):

[https://fuzzyslogicblog.files.wordpress.com/2009/03/a186d-pi...](https://fuzzyslogicblog.files.wordpress.com/2009/03/a186d-pipeseditingfuzzy27slogic.jpg)

------
saola-app
Author here. If you would like to try out the app and provide feed back there
is a test account. email demo@saola.in and password is Areyouserious1. Would
love feedback.

~~~
hobs
The only feedback that jumps out at me is that while most people will have
their own systems, it would be cool to have a simple method to export/import
scripts or share them that is built into the site itself.

I imagine a few "standard scripts" like your calculator might be useful to
show some of the things you could do and might increase a initial user's
stickiness.

~~~
saola-app
I have built partial support for sharing. It is definitely on the way.

------
iheartmemcache
_The most important role of UNIX is to provide a file system. From the point
of view of the user, there are three kinds of files: ordinary disk files,
directories, and special files._ [DRAFT: The UNIX Time-Sharing System]

> "In the spirit of UNIX, every thing is a file." "Everything is a file" is a
> Plan 9, not UNIX, adage. `Block devices aren't a file (though they are
> represented by files). Network devices are not files (again, they have
> representational forms, but you can't pipe to them, a la Plan 9). > "Though
> unlike it, a file can contain other files. " By definition, a directory is a
> file. It's the second item in that tuple of 3 outlined by Ritchie.

You essentially have re-invented Plan 9 and to some extent ACME[1]. Sadly,
Plan 9 faded into obscurity due to licensing, but it was poised to fill the
position Linux has now. Watch that video [the whole thing) and borrow the good
ideas. LISPs are homoiconic in that whole text-is-data sense. ACME takes it a
further, in that your terminal is a shell, which can invoke programs to
manipulate data. The only other environment I've ever worked where everything
was as unified consistently was Smalltalk.

Emacs is a close 3rd and that's hard for me to admit, as an emacs fanatic.
Though I can (and have been) doing exactly what you're trying to solve for
ages within emacs, but that leaves all the vimmers in the dark ;) Ledger for
accounting, org-mode for generic notes, a highly customized e-mail client
which I integrated to a calendar/contacts/todo, all of which have tags. I can
fuzzy-match my notes to the point where if I'm trying to remember a resource
(say, a library for redistribution of data amongst a network on soft-
failures), I can search by tag, by time (i.e., I remember it was sometime this
week; filter; I remember it was a link on medium.com; filter), and various
other components.

I see what target demographic you're going for and it's a pretty good idea.
Most people need 'information stores'. Evernote was the Web 1.5/2.0 solution,
inevitably there'll be a Web 3.0 version, you might be it.

Side bit of trivia: Cox loved ACME so much he ported all of the essentials
when he moved over to Google, from the Plan9 FS (FUSE'd, not native,
obviously) to ACME itself.

[0]
[http://www.tuhs.org/Archive/PDP-11/Distributions/research/Mc...](http://www.tuhs.org/Archive/PDP-11/Distributions/research/McIlroy_v0/UnixEditionZero.txt)
[1]
[https://www.youtube.com/watch?v=dP1xVpMPn8M](https://www.youtube.com/watch?v=dP1xVpMPn8M)

~~~
saola-app
Thanks for bring up Acme and Plan9. Having used Acme as a primary editor for a
while I definitely plan to bring some of its features along. I have ported
part of plumbing to elisp though very rudimentary. Though I wonder how
plumbing could be implemented in the web. It is an interesting thought.

------
viraptor
Looks kind of like a cross between IPython Notebook
([https://ipython.org/notebook.html](https://ipython.org/notebook.html)) for
JS and a pastebin.

------
VLM
Yeah I know its unfair to pick on a simple demo/example but it would be
interesting for the accounting demo to speak a variant of "standard ledger
format" as seen at:

[http://www.ledger-cli.org/](http://www.ledger-cli.org/)

Speaking of standards and processing it would be cool to have a FUSE interface
such that I could hand edit ledger files or org mode files on the thing, then
via a FUSE mount, continue processing or accessing stuff on my desktop or a
server.

------
djogo1
There's also Dontpad: [http://dontpad.com/](http://dontpad.com/)

~~~
EschewEnvy
There is also [http://pen.io/](http://pen.io/)

------
drdeca
nitpick: it says to say "may be" instead of "maybe" on this page. If this is
unintentional you might want to fix it.

Sorry if correcting a typo is not an appropriate comment.

~~~
saola-app
Thanks for that. I do appreciate the comment.

~~~
frutiger
It also says "Since its plain text" when it should say "Since it's plain
text".

------
pzone
A scriptable text-based web service? This seems like it could evolve into an
online competitor for Emacs, something I could certainly find use for.

~~~
saola-app
Thanks. I am big time Emacs user myself and my inspiration.

------
mahouse
Such a bad idea to use ! for urls. If you type " or nothing around the URL,
the command fails and it's not stored in `history' ;P

~~~
saola-app
Thanks for that. I took it in the spirit of the hash bang.

------
kitd
Good stuff.

I have used Google Drive and Google Apps scripting for this kind of thing in
the past, so I'd be interested to know how this compares.

------
rekshaw
the password field says minimum 8 characters, I inputted 9, still not letting
me signup. looks like you have a couple of bugs to fix in a critical phase of
your app (user registration). will not sign up until this is fixed, but by
then (in 10 mins) I will forget Soala, like I forget every other marginally
useful app out there.

Cheers

~~~
saola-app
I can register it without any problems. I don't know what browser you are
using. I have tested it on Chrome and Firefox and it works fine. You could
send an email to support@saola.in and I could create a user for you.

------
doomrobo
Pretty interesting! I would love to see ClojureScript support soon

~~~
saola-app
My first choice was Clojure, but eventually went down the JavaScript way. If
there are more supporters for a lisp like language I will add support for it
in the future.

~~~
macmac
\+ 1 for ClojureScript - which now has eval in the browser btw.

------
saiko-chriskun
surprisingly nifty!

