Add README.mob with instructions for anonymous commits
[arxana.git] / README.txt
blob46ba1c508e154d1d12224a8994a3fcf6624eb85f
1 The idea is to refactor pieces of information into documents in a “holographic” fashion. This addresses the idea that a document is made up of paragraphs, a paragraph is made up of sentences, sentences are made up of words, and words are made up of letters -- but the world is not as simple and hierarchical as this picture might make you think.
3 Over the years, we've built several prototypes and spin-offs, ranging from a simple ipod-like list browser, to a representation language for mathematics that envisioned definitions and theorems as lists of assertions and instantiations.  Currently the defining features of an Arxana implementation are: (1) low-level functions that allow you to create a network of texts; (2) a browser to navigate the graph; (3) functions that will assemble documents out of the graph.
5 Accessing bits and pieces in different ways should be possible with multiple backends (e.g. database, web, memory). Frontend features rely on Emacs text properties, and support the ability to edit multiple nodes at one time, and have the changes routed back into the backend properly.  Future middle-end features will be associated not simply with assembling texts on the fly, but, for instance, proof checking them on the fly. One of our current interests is connecting Arxana and PlanetMath, which will be particularly nice now that the latter has been re-built with a Drupal and LaTeXML core. All of PlanetMath is now rendered with trees which gives us plenty of interesting things to chew on.
7 But as interesting as these mathematics applications are, the proper vehicle for this system is literate programming, or even better, literary programming in Lisp.  But the network model we use goes beyond Lisp, where what you have are only tuplets, not triplets. If you want to link to content, you have to put it in a CAR or a CDR, which gives you one link left -- that's enough to create chains, but not for more interesting graph structures.
9 In Arxana, every object is annotatable.  This requires a different way of thinking about things, but one that is much more connected to the natural world of process, rather than the objectified world of static things. We are inspired by Richard P. Gabriel and Ron Goldman's <a href="http://www.dreamsongs.com/MobSoftware.html">Mob Software</a>, and we're enabling a mob branch here on repo.or.cz as a way to get started.  But in the long run we want to build a more dynamic wiki for programming.
11 Other future projects should include integrate real-time interactions, possible distributed distribution via Namecoin, and a rich annotation layer on top of the web.
12         
13 Some of our prototypes connect Emacs to Common Lisp via Slime, and Common Lisp to PostgreSQL via CLSQL. CLSQL also talks directly to the Sphinx search engine, which we used for text-based search.  We'll note that several years of on-and-off prototyping work resulted in several several regressions with respect to the first version of the code.  But at the same time, we've been able to re-use code or from previous prototypes, so the work wasn't lost.
15 These days, we're making a cleaner separation of backend, middle-end, and front end, so we'll have easier ways to swap working modules in and out.  This is a design principle that is reflected throughout the system.
17 The reader will perhaps have noticed that the subtitle of this article is a riff on the subtitle of Literary Machines by Ted Nelson.  We want to be clear that the system presented here isn't an implementation of the Xanadu™ idea, per se, although it provides some of the features one would expect from a “Xanadu™ implementation.”
19 The work does connect to the philosophical traditions of hypertext, e.g. Wittgenstein, Derrida, Borges, and Deleuze.  The long term-aim is to model the information landscape in some detail, including non-free works.  Something you can't get any reading on is a brick, but you can attach comments to just about anything, even a brick.
21 There's also a literary tradition, ranging from Douglas Adams to Charles Bukowski.  Indeed, one of us first encountered Bukowski's books in the Xanadu bookstore in Memphis, Tennessee, while bulk-ordering cheap differential geometry books.
23 The project is very much research based, e.g. we have a lot to learn about Namecoin if we're actually going to use it as part of the system.  For now, just moving to a more contemporary and social development method (Git) provides a breath of fresh air.  For anyone interested, we have a big backlog of obscure writing on AsteroidMeta about other topics that connect to Arxana.
25 If we get this integrated with a nice real-time co-editing system, with some nice co-presence markers, and use this system to build a real-time editable math MUD, that would realize a big portion of our vision.  Adding in the scholium-based programming things we've been working on more recently, and a bunch of parsed data on PlanetMah, and we may get something like the HDM system that we've talked about for over ten years.
27 Ted Nelson's “Literary Machines” and Marvin Minsky's “Society of Mind” are important inspirations. Alfred Korzybski's “Science and Sanity” and Gilles Deleuze's “The Logic of Sense” provided some grounding and encouragement early on. LaTeX and GNU Emacs have been useful not just in prototyping this system, but also as exemplary projects in the genre. John McCarthy's Elephant 2000 was an inspiring thing to look at and think about, and of course Lisp has been a vital ingredient.
29 In short, Hello World! This document is readable and editable within Arxana, as is the system itself.