Dataspace 0: Those Memex dreams again
natecull.org
natecull.org
I also think about what are the more higher level systems that will be required in the far future... something that can run a whole probability distribution of the kind of program I want to create and as it quizzes me derives entire systems around the context of my desires... something like that would require a language around systems that we can't do now because we feel a generalized higher level thing will have to be so dumbed down as to not be useful. I think we forget that a higher level system, if it worked way harder, could actually do the right thing at all the lower levels.
In fact, I'm more interested in the practical applications than I am in the underlying model. However, I'm glad that such model is something I'm familiar with as is logic programming, and not some obscure branch of category theory full of point-free abstract operators.
One related post on that from me from 2005: "Python implementation of Memex" https://tech.slashdot.org/comments.pl?sid=156379&cid=1311190...
A more recent experiment: https://rawgit.com/pdfernhout/Twirlip7/master/src/ui/twirlip...
Would love to help realize with that, say: https://decentralizedweb.net/
The idea of a "server" at this point, then, is basically an extremely coarse-grained unit of work and locality. You deploy some binary onto a box on a rack, you ensure that the stuff on the binary stays together in one place.
But what we really care about is objects and functions/methods, and having related objects be closer together. In the ideal world, we should just be able to throw more and more machines at a cluster, and have it transparently rebalance objects underneath, taking into account load and affinity.
[1] https://oneofus.la/have-emacs-will-hack/files/2005_Teatime_F...
The data structure he describes in the last article is actually well known in Prolog as difference lists (except that you can't do higher order logic programming with them). Converting between terms and lists is also well supported by Prolog. Granted, the syntax is not as nice as using S-expressions with special sugar for terms.
As for lists of lists, the most recent article uses them for an in-memory optimized representation:
http://natecull.org/wordpress/2018/08/16/dataspace-10-an-arr...
It makes an internal knowledge graph as one uses the product (stored in postgres, runs fast). It builds an object model on the fly as a side-effect of using the product, using relationships, numbers, etc as knowledge at an atomic level where words are secondary. The best info organizer (for my style at least) that I know of, though (so far) less feature-rich than many products. I hope the About page at that link explains the present and future well.
(Part of the eventual purpose of the tool is to help individuals and mentors via maturity models that apply more generally to life before getting into any particular topic. That could easily be misunderstood, and there is more about that at the web site (below). Part of the idea is to help in the development/growth of self and others -- skills, knowledge, positive character traits, anything good -- in any area of life that one chooses, so we can have good goals instead of trying to make life seem fulfilling with empty searching for more pleasure/power/attention.
And by marking things done or "archived", it also provides a journal feature or personal log, of entries created or archived in any date range (defaulting to "yesterday and so far, today", to help with daily standup reporting).)
http://onemodel.org (And yes I plan to move to https fairly soon :) ...as well as adding anki-like and other features someday.)
Candid feedback welcome, especially via the site (2 mailing lists; direct email in footer). Thanks.
Files can be any size you want. Why does the author say this?