Brain Dump #1
Steven H. Rogers, PhD.
steve@REDACTED
Sat Feb 8 14:38:14 CET 2003
Joe Armstrong wrote:
>...
> I read all the books (one per subject) - all these things had the
> same property - they were high on features (i.e. they did useful
> things) - but the internal representations and algorithms were not (to
> put it politely) beautiful.
>
> I thought to myself - any of the things they do in
> zope/jabber/blogger we could do *much* better in Erlang.
>
Concur. I find Zope compelling as an idea, but think an Erlang
implementation would be more robust and scalable.
>
> Here's what I'd like to do:
>
> 1) Merge together zope+jabber+blogger into ONE framework
>
Yes! BTW, there is activity to integrate the Jabber and Blogger APIs
into Zope.
> Why do this:
>
> Jabber is about instant messaging -
> Zope is about content management
Mostly, but Zope is also a web appication development platform.
>...
> I once started on a system I called "things that do stuff" - the idea
> was to extend the idea of e-mail.
>
> Again you can send e-mail to a person, but not to a web page, or an object.
>
> I was thinking about things like booking rooms for meetings -
>
> My can't you send the following email to a room
>
> mailto room23@REDACTED
> subject: booking
> Can I book you next tuesday between 12 - 14?
>
> And get a reply
>
> mailfrom: room23@REDACTED
> subject: booking
>
> Yes
> /have a nice day
> your friend the room :-)
>
> Why can't I send email to a web-page
>
> mailto: www.sics.se/~joe/talks/this.pdf
> subject: typo
>
> you mis-spelt "program" in line 22
>
> And get the page to correct itself -
>
> Why can't I get an instant message when a data base is updated?
>
> Why do we have separate worlds for managing content/instant messaging/
> and non-instant messaging.
>
> I'd like to *combine* these three.
>
> Our world has active objects (servers) we can send them messages -
> or instant messages.
>
> << a message is like email - connect to the server, send the message,
> disconnect. An *instant message* is like MSN or Jabber, connect to the
> server and *stay* connected >>
>
> Our servers have state and are connected in a peer-to-peer network.
>
> We can change content - by sending tagged messages to objects in the
> servers.
>
> << I'd like to things like webdav, irc, file transfer etc. all done
> using pure erlang communication. By which I mean, you *only* send
> things like:
>
> gen_tcp:send(Socket, term_to_binary({get_file, F}))
>
> No XML - XDR - anything just binary encoded erlang terms
>
For internal use, I agree, but despite it's flaws, XML is widely used.
Supporting the Jabber and Blogger protocols would help to win over a
critical mass of users.
>
> A while back I wrote a "undedicated daemon" - this is just a daemon that
> does nothing - to this basic infrastructure I could plug in a web server
> of an irc server etc.
>
> Luke and I chatted using once (or was it twice) - I'll turn this into
> a tutorial.
Please do.
>
> 2) Use the framework (the one above) so solve some worthwhile projects
>
> I three pet projects - which are all bubbling along (slowly) - and I'd love
> volunteers to help with these. I'll call them
>
> - store
> - find
> - publish
>
> Once they work we can glue everything together and make
> a nice electronic newspaper :-)
>
>
> I'll briefly explain:
>
> store
> =====
>
> Each machine should have a data store. When you put something into
> the store it remains their *forever*
>
> << In the back of my mind *store* is a peer-to-peer backup system.
> - "you can use my disk if I can use your disk" - I use a variant of
> store between home and work for backup purposes -
> it involves an rsync server and a chrontab job ... >>
>
> If store worked properly we could *eliminate* backup.
>
> find
> ====
>
> I want to index *everything* I have every done so that I can find
> it.
This is one of the things that attracted me to Zope.
>
> I want *every* document to have a GUID (globally unique identifier)
> - If I know the GUI I want to be able to find the document.
>
This is another attrative feature of Zope.
> I want to index every document (ideally, when I add an object to
> *store* it would be automatically indexed - I have no idea how to do
> this - has anybody got a good "abstracting" algorithm - I need to
> extract information bearing words from a document and remove
> non-information bearing words ...)
>
> publish
> =======
>
> Goals make *beautiful* documents from text input (which might be XML)
> make *beautiful* GUIs from same language as the above.
>
> I want to create *beautiful* documents and GUIs from the *same*
> layout abstractions - I'm thinking display postscript/PDF for documents
> and GUIs - so far I can create PDF *directly* from XML and have been
> playing with freetype to get nice anti-aliased fonts on the screen.
>
>
Essentially, you're proposing Zope "done right", or at least better with
Erlang. This is a wonderful idea, and I'd be interested in participating.
I've played around with Zope a bit, and while I like the things that it
does, I'm not happy with the implementation.
Mitch Kapor is doing something similar to what you're proposing with his
Chandler (Interpersonal Information Management) project:
http://www.osafoundation.org/architecture.htm He and his group have put
a lot of thought into this.
Steve
--
_ Steven H. Rogers, PhD.
<_` email: steve@REDACTED
|_> Weblog http://shrogers.com/portal/Members/steve/blog
| \ "A language that doesn't affect the way you think about
programming is not worth knowing." - Alan Perlis
More information about the erlang-questions
mailing list