From 54beb7fa1cdf45e2e73d8bc7e603c7576ebc26a8 Mon Sep 17 00:00:00 2001 From: Joe Corneli Date: Fri, 29 Mar 2013 23:57:51 +0100 Subject: [PATCH] Pretty much complete draft of homepage is now done --- elisp/tarot.el | 130 ++++++++++++++++++++++++++++----------------------------- 1 file changed, 65 insertions(+), 65 deletions(-) diff --git a/elisp/tarot.el b/elisp/tarot.el index 90c5807..8954b04 100644 --- a/elisp/tarot.el +++ b/elisp/tarot.el @@ -187,44 +187,44 @@ hypertext, etc. (mapc (lambda (a) (insert (let* ((filename (replace-regexp-in-string " " "-" - (car a))) + (car a))) (content (cdr a)) ;; format the associated image (image (concat "\""")) ;; format the associated text - (text (add-html-paragraphs content)) - (concat - "\n\n\n\n
" - ;; alternate image left and right - (if (evenp count) image text) - "\n\n" - ;; alternate image left and right - (if (evenp count) text image) - "
" - ))) - (setq count (1+ count))) - tarot-arxana-associations)) - ;; footer - (insert "
+ (text (add-html-paragraphs content))) + (concat + "\n\n\n\n
" + ;; alternate image left and right + (if (evenp count) image text) + "\n\n" + ;; alternate image left and right + (if (evenp count) text image) + "
" + ))) + (setq count (1+ count))) + tarot-arxana-associations)) + ;; footer + (insert "
-Arxana's code is available under the terms of the Affero GNU GPL 3.0.                                                                                    

+Arxana's source code is available under the terms of the Affero GNU GPL 3.0.                                                                                    

\"Made \"Made
") - (goto-char (point-min))) + (goto-char (point-min))) ; (defvar tarot-arxana-associations (setq tarot-arxana-associations '(("Fool" . "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 also that the world is not as simple and hierarchical as this picture might make you think. -Newspapers are made up of articles, but can be folded into hats or taped into Möbius strips. Math papers are made up of definitions, theorems, and proofs, which can turn out to be incorrect. Comic books are made up of panels, art, and speech balloons, but they can also be made into movies +Newspapers are made up of articles, but they can be folded into hats or taped into Möbius strips. Math papers are made up of definitions, theorems, and proofs, which can turn out to be incorrect. Comic books are made up of panels, art, and speech balloons, but they can also be made into movies. -A tarot spread is made up of cards, in a certain geometric relationship, set up in a way to spur the imagination.") +A tarot spread is made up of cards that are arranged and narrated in a way that stimulates the mind.") ("Magician" . "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. @@ -237,52 +237,50 @@ We presented the first really usable prototype of the system at a Symposium In particular, we've created a programming framework for writing programs as graphs. Programs written in this manner can either be run in situ by a graphical interpreter or compiled down into traditional code for running outside the system. This programming facility allows for literate programming in which programs are built out of chunks by transclusion and comments are attached as scholia. The same ideas applies to text: they can either be browsed as hypertext, or specific portions can be compiled into printable documents on the fly.") ("Empress" . - "Backend features: Accessing bits and pieces in different ways should be possible with multiple backends (e.g. database, web, memory). + "Accessing bits and pieces in different ways should be possible with multiple backends (e.g. database, web, memory). Hypertext nouveau is based on the concept of semantic triples of the form subject, predicate, object. This rather constrained language allows one to say quite a lot. The picture that emerges is something like the constellations that we superimpose over the stars. We've had lots of interesting conversations about how to represent things, will we need 29 place terms? probably not... -The previous 2009-era prototype used CLSQL to interface to MySQL and represented links as triples in a handmode triple (or rather, quad) store. We also experimented with using cl-elephant as a storage system to persist nodes as objects. xx xxxxxx xxx x xxxxxxx xx xxxxxxxx xxx xxxxxx xxx xxx xx xx xxxx xxxx xxxxxxxx xxx xx xx xxx xx xxx xxxxxx") +The previous 2009-era prototype used CLSQL to interface to MySQL and represented links as triples in a handmade triple (or rather, quad) store. We also experimented with using cl-elephant as a storage system to persist nodes as objects.") ("Emperor" . - "Frontend features: text properties, ability to edit nodes and have the changes be routed back into the backend properly. + "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. -Previous Emacs-based browsing systems include Info and Emacs/w3m. Editing and browsing with these systems were essentially completely distinct activities. Although completely silly, M-x doctor provides encouragement that an interactive system could do something interesting. A more contemporary Emacs-based read/write hypertext system is Org Mode: it allows the user to write interactive hypertext. Wikis, social bookmarking, and some related experiments, like «Seaweed» point in the direction of an open read/write web, but often with limited semantics. (The other system based on chat seemed like a good idea too (what was it called?).) +Previous Emacs-based browsing systems include Help, Info, and Emacs/w3m. Editing and browsing with these systems were essentially completely distinct activities. Although completely silly, M-x doctor provides encouragement that an interactive system could do something interesting. -Without going into all the details on the history of interactive fiction, MUDs, and so on, we'll just mention that Arxana makes use of Emacs text properties to give directions on how to where to route changes when the user is ready to save.") +Various experiments with the social web point in the direction of an open read/write platform, but typically these experiments have had very limited semantics. We're thinking we can do more here.") ("Hierophant" . - "Middle-end features: not just assembling texts on the fly, but proof checking them on the fly (whether starting from natural language, networks or hypertext which provide an intermediate form) + "We're planning middle-end features that will be associated not just with assembling texts on the fly, but doing additional processing, like proof checking. -The most natural way to represent things like inference rules has been as networks. The linear representation that we're used to actually represents the way people think about things that are more naturally thought about as diagrams. At some point in the future, we might be able to draw the pictures automatically. +One reason for choosing our data model is that inference rules can be represented very naturally as networks. The linear representations that we're used to is only a representation of the way people actually think about things. At some point in the future, we hope to be able to turn Arxana networks into schematic diagrams automatically! -Math example coming soon. xxxxx xxxxxx xxxxxx xxx xx xx xx xxx xxxxxx xx x xxx Xxxx Xxxxxxx xxx xxx Xxxxxxx xx xxxxx xxxxx xxxx") +For now, here's a hand-drawn picture showing how inference rules look when they're put presented in a network structure.") ("Lovers" . - "Going further, an interesting approach to parsing math documents has been undertaken in the LaTeXML project. What can we do to interact with objects once they've been properly parsed? There will be some interesting experiments in the future, 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 things to chew on. + "What can we do to interact with objects once they've been properly parsed? There will be some interesting experiments in the future, connecting Arxana and PlanetMath, which will be particularly nice now that the latter has been re-built using LaTeXML. -Beyond that, Emacs and Drupal just might be a match made in heaven! One of the most interesting applications we have in mind that should be available in coming days is a connection between Arxana and Drupal, using the Drupal Services module. +All of the math on PlanetMath is now rendered in Content MathML, which should give us plenty of things to chew on (and in the not-too-distant future, we'll have sTeX and OMDoc to chew on as well). -xx xx xx x xx xx xx xx x xx xxxx xxx xx xxxxxxxx xx xxx xx xx xxx xx xx xx xxx xxxx Xxxx xxxxxxx xxxx xx xxxxxx xxx xxx xx xx xxxxx xx xxxxxx xxxxxxx xxx xx xxx xx xx xxx xxxxxxxx" +Whether on PlanetMath or beyond, Emacs and Drupal might be a match made in heaven! One of the most interesting applications we have in mind that should be available in coming days is a connection between Arxana and Drupal, using Drupal's Services module." ) - ; CAR card ("Chariot" . - "To expand ... But as interesting as the mathematics applications are, the proper vehicle for this system is literate programming, or even better, literary programming in Lisp. Why lisp? is a question that has been asked and answered many times. + "As interesting as the mathematics applications are, the proper vehicle for this system is literate programming, or even better, literary programming in Lisp. Why Lisp? is a question that has been asked and answered many times. -Lisp and natural language, significar and significant. More down to earth in Lisp, everything is already a list, and lists of lists are already networks. What we're doing here is generalizing this in two important ways. First, links are bidirectional, and second, we allow objects to be attached at any point in the network, not just at the tree boundaries. In Lisp, what you have are 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, which is enough to create chains, but not any more interesting graph structures. +Donald Loritz writes: “in Lisp, a Saussurean arbitrary relation holds between signifier and significand [...] it is possible to redefine virtually every classical Lisp command word.” -See the HONEY thing, which will expand on that." +Our point of view on network programming is similar, but it goes beyond Lisp in several important ways. First, our links are bidirectional, and second, we allow objects to be attached at any point in the network, not just at the tree boundaries. In Lisp, what you have are 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, which is enough to create chains, but not any more interesting graph structures." ) ("Strength" . - "To expand ... Arxana is, thus, a hypertext system that emphasizes annotation. Every object in this system is annotatable. This is Arxana's biggest strength, which, as is well known, often represents the greatest weakness. + "In sum, pretty much every object in this system is annotatable. This is Arxana's biggest strength, which, as is well known, often represents the greatest weakness. In the first place, making this statement precise has been tricky. -If you make everything annotatable, you're likely to get a representation that's more complicated than what you might get if you wanted to just compute. +Secondly, if you make everything annotatable, you're bound to get a representation that's more complicated than what you might get if you wanted to just compute. -We could implement a type system in links, but there are more sophisticated ways." +The system can be flexible, but it can also be formal; for example, if we wish, we can implement a type system in links." ) ("Hermit" . "How do we intend to connect with other developers? We already have connections to KWARC, and have presented work in progress several times at LISP NYC. -One of the most relevant places to look for connections is the Free Technology Guild, particularly as we think about ways to implement Richard P. Gabriel and ?????'s «Mob Software» ideas. +One of the most relevant places to look for connections is the Free Technology Guild, particularly as we think about ways to implement Richard P. Gabriel and Ron Goldman's Mob Software ideas. -One of the most straightforward ways to explain this idea to other people is as a wiki for programming." +One of the most straightforward ways to explain this idea is that we want to build a wiki made of programs and documentation instead of text." ) ("Wheel of Fortune" . "At present, real-time interactions like Etherpad and ShareJS are popular. It would be great to be able to integrate these things into the system. Ted Nelson is also interested in multimedia -- why not annotate video using this system? @@ -304,56 +302,58 @@ This prototyping work didn't go particularly well, and ended up having several r Now that we're making a cleaner separation of backend, middle-end, and front end, we'll have easier ways to swap things in and out. There will be less concern about which choice to make, because we can use any implementation for a module. This is a design principle that goes fairly deep into the system, so, anything that implements a 'pow' function can be used in that way.") ("Death" . - "The reader will perhaps have noticed that the subtitle of this article is a riff on the full title of Literary Machines by Ted Nelson. One of the perplexing aspects of working on this system is the legacy of one of the conceptual predecessors, Xanadu™. 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.'' + "The reader will perhaps have noticed the similarities and references to the work and ideas of 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.” -One clear difference between this system and the Xanadu™ system is that here articles are not supposed to be presented in a pay-to-access fashion. The Xanadu™ system was intended to be Free as in Freedom (in a certain limited sense), but not Free as in Beer. The idea was to charge people on a pay-per-view (or, rather, a pay-per-use) basis, with some fraction of royalties going back to each of the authors whose work made up part of the delivered text. +One clear difference between this system and the Xanadu™ system is that here articles are not supposed to be presented in a pay-to-access fashion. The Xanadu™ system was intended to be Free as in Freedom (in a certain limited sense), but not Free as in Beer. We might recover some micropayment features eventually, but it's not a core focus. -One of the concerns with Xanadu™ is that it's cursed. We didn't want the same fate to befall Arxana, which was why we took a 100% free/open source approach. But that said, we probably didn't have the best strategy for outreach and connection with other developers.") +In any case, the main concern with Xanadu™ is that it's cursed. We didn't want the same fate to befall Arxana, which was why we took a 100% free/open source approach. That said, we probably didn't have the best strategy for outreach and connection with other developers as we were getting started!") ("Temperance" . - "We would have done well to pay more attention to the philosophical foundations of hypertext from the very start. Wittgenstein is one good example. + "We would have also done well to pay more attention to the philosophical foundations of hypertext from the very start. Wittgenstein remarked ironically: “It should be possible to decide a priori whether, for example, I can get into a situation in which I need to symbolize with a sign of a 27-termed relation.” (Tractatus 5.5541) -Another interesting connection from philosophy is Theuth (or Thoth), as understood by Derrida. The question is really about how to take things apart and put them together again in a useful way. +Another interesting connection from philosophy is Theuth (AKA Thoth), as understood by Derrida, and the associated notions of deconstruction and the pharmakon. -Learning how to program for an networked environment, e.g. the costs of shipping data around versus running systems local.") +One of the key points to keep in mind are the limits of any system -- we could quote also from Borges or Deleuze, but here's Wittgenstein again: “And how would it be possible that I should have to deal with forms in logic which I can invent: but I must have to deal with that which makes it possible for me to invent them.” (Tractatus 5.555)") ("Devil" . - "How do we deal with content that isn't authored in Arxana? -- Especially if it is locked up behind non-free protocols. In order to make bidirectional updating work when some of the editing is going on outside of the scholium-based system, we would need to be able to read a stream of diffs coming from the other system and decide how to incorporate the modifications. And we also need to be able to provide them with a stream of diffs that they can use however they see fit. We'll certainly have to think more about how to do this! + "How do we deal with content that isn't authored in Arxana? -- Especially if it is locked up behind non-free protocols. + +In some sense there are circles of Hell here -- something you can't get any reading on whatsoever is a brick, but you can still attach comments to just about anything, even a brick. -In some sense there are circles of Hell here -- something you can't get any reading on is a brick, but something you can use under fair use you can make some mileage on. You can attach comments to just about anything, even a brick. ") +Other things you can model.") ("Tower" . - "Another useful point of reference is Dirk Gently's Holistic Detective Agency. Remember the famous quotes there! Maybe also talk about Stephen King's tower series. + "Looking back over the history of the project, another key point of reference is Dirk Gently's Holistic Detective Agency. Perhaps you remember that the pseudo-protagonist, Richard MacDuff, got into programming when he was working on creating a text editor to edit his English papers with. -Oh, and the Monolyth text experiment is another useful point of reference. This note itself will probably end up being our shared monolyth. Another useful reference is that book by Calvino about the Tarot (?)... And it's hard to beat Alan Moore's Promethea as an introduction to magic. +Hypertext can often feel like a distraction from a distraction from a distraction. (Dirk Gently author Douglas Adams was famous for his procrastination, and would generally only finish novels when his agent locked him in a hotel room.) -Oh, and Kubblah Khan as well! OK, that's cool. Going back to the Talmud or other literary processes from the past -- what does technology. Bukowski's books showed up in the Xanadu bookstore in Memphis. Worth keeping in mind that a $10 differential geometry book can do the same thing as a $90 version.") +Anyway, the literary, textual, and philosophical references go way back, for instance to the Talmud and its history. For a more contemporary example, Bukowski's books happened to show up in the Xanadu bookstore in Memphis, where one of us was buying cheap geometry differential texts in bulk.") ("Star" . - "Assembling a document from various disparate sources in the database, reminds me of something that comes up in p2p filesharing, namely the way in which documents can be assembled from partial data drawn from various nodes. + "Assembling a document from various disparate sources in the database is reminiscent of the way p2p filesharing works. -There are some pleasant developments with Bitcoin and more recently with Namecoin that could connect with the way this system works. +There are some interesting developments with Bitcoin and more recently with Namecoin that we could potentially connect up with here. -Apart from Namecoin, an early aim of the system was to build a distributed version of the system -- one day.") +Apart from Namecoin, an early aim of the system was to use distributed databases to make an alternative hypertext system much more in line with Ted Nelson's ideas. Well, perhaps one day.") ("Moon" . - "There was a real chance of going crazy when working on this system. We have a lot of work on AsteroidMeta that's relatively hard to find. + "There was probably a non-trivial chance of going crazy when working on this system. We create a lot of obscure documents on AsteroidMeta for example. -The question with this system was always a practical one. So far, it hasn't been all that practical, but all in good time? If we get the real-time co-editing system set up, with some nice co-presence markers and use this system to build a real-time editable math MUD, that would be pretty practical. +The question with this system was always a practical one. So far, it hasn't been all that practical, but all in good time? -xx xx xx x xx xx xx xx x xx xxxx xxx xx xxxxxxxx xx xxx xx xx xxx xx xx xx xxx xxxx Xxxx xxxxxxx xxxx xx xxxxxx xxx xxx xx xx xxxxx xx xxxxxx xxxxxxx xxx xx xxx xx xx xxx xxxxxxxx") +“Marry, then, sweet wag, when thou art king, let not us that are squires of the night's body be called thieves of the day's beauty: let us be Diana's foresters, gentlemen of the shade, minions of the moon; and let men say we be men of good government, being governed, as the sea is, by our noble and chaste mistress the moon, under whose countenance we steal.”") ("Sun" . - "If you put together all of the different things that we have here, you might get something like the HDM system that we've talked about for ten years. + "If you put together all of the different things that we have here, you might get something like the Hyperreal Dictionary of Mathematics that we've talked about for years. If we get the real-time co-editing system set up, with some nice co-presence markers and use this system to build a real-time editable math MUD, that would be pretty practical even without the Artificial Intelligence part. -Networks and nodes are an interesting thing to work with here. Our networks are more lively than the typical subject, predicate, object -- we're much more in the mind to represent beginning, middle, and end. Representing process as opposed to things. +Networks and nodes are a really interesting thing to work with here. Our networks are more lively than the typical subject, predicate, object -- we're much more in the mind to represent beginning, middle, and end, representing dynamic process as opposed to static things. -What quotation does is it represents as a thing some process from a lower level theory. If A is a meta-theory to B, then you can start to reason about things at a higher level.") +What quotation does is it represents as a thing some process from a lower level theory. If A is a meta-theory to B, then you can start to reason about things at a higher level. The term ``format shifting'' belies the nature and power of simulation, and the true force of medium-as-message.") ("Judgement" . - "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. + "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. -More recently, the conceptual artwork Monolyth gave some indication of the form we wanted this document to take -- 14000+ characters, a kilotweet, which we will continue to revise as the project develops. +More recently, the conceptual artwork Monolyth gave some indication of the form we wanted this document to take -- 14000 characters, a kilotweet, which we will continue to revise as the project develops. -Quine is another person to give some credit here.") +On the formal side, our approach has been informed by various concepts from the foundations of mathematics such as Quine's distinction of use versus mention, Tarski's consequence operator approach to logical theories, Lesniewski's mereology, Makarov's D-logic, Grothendieck's categorical geometry and Lawvere's categorical logic. One of our objectives is to bring some of these ideas down to earth from their lofty perch atop the tower of mathematical abstraction and embody them in computer code which can be applied to practical problems.") ("World" . "In short, Hello World! This document is readable and editable within Arxana, as is the system itself. -We're interested to get other people involved as easily as possible, whether that's a mob branch on git.or.cz, or a Github account, or a direct link to our latest download. +We're interested to get other people involved as easily as possible -- for now we've got code on git.or.cz, but that will be followed soon with a Github account, and links to our latest download. -There's even an arxana mailing list in existence, too, if you want to get in touch with us that way."))) +There's even an arxana-talk mailing list, if you want to get in touch with us directly."))) ;;; tarot.el ends here -- 2.11.4.GIT