free project xanadu

It’s my hope that this post will combine the following ideas:

1. The concept of “General Information” As Posited Samuel Delany’s 1984 novel Stars in my Pocket Like Grains of Sand.

2. The hypertext system, Project Xanadu, as described by Theodor Holm Nelson in his book Literary Machines (and elsewhere) which I’ve discussed on this blog recently.

3. The contemporary idea of distributed network service, as described in the Franklin Street Statement, and enacted by technologies like git, xmpp, laconi.ca and open microblogging, and others.


We value the Internet--really the “web”--as it is to today, because it’s diverse, and flexible. Web pages can look like anything, can do virtually anything from present the text of a book or newspaper to fulfill most of the functionality of your desktop computing needs. What’s more all this is indexed and made accessible with google search. That’s pretty cool.

While the web’s ad-hoc and disorganized structure has made many things possible, there’s no reason to assume that the future development of the web will continue in the current direction. microformats, and the proliferation of rss in “Web 2.0,” not to mention human generated portals like Mahalo (or google knoll, and even various WikiMedia Foundation Projects), all seem to point to a larger trend toward more structured, hand curated information.

As an aside, I think it’s interesting that hand-curation (more human involvement) in information networks while structured data means less human involvement those networks.

I should also clarify that by “more structured” I basically mean an end to web-design as we know it now. Rather than allow designers and--well, people like me--to have a say with regards to how pages are organized, information would be collected in containers with specific structures (headings, lists, tables, metadata, etc.) and the design or display would happen on the client side in the form of specialized browsers, Site specific browsers, but also domain specific browsers. (eg. use this program to view blags and microblog pages, and this program for reading pages from the news services, and this program to view x-new-class of sites). In short, adding structure to content wouldn’t limit the realm of possibility, but it would separate content from this stream of thought.

Structure is one part of the Xanadu-model of hypertext/content, and perhaps the most lamented by those of us who are… professionally frustrated by the lack of structure in the contemporary web, but I think it’s distribution and federation concepts are too often overlooked, and are quickly becoming relevant to contemporary technology.

Federation, to subtitle, is the set of technologies technologies that allow network services to function without always-on and real-time network. Federation avoids two other technical problems with distributed network services: first, it removes the need for centralized servers that provide canonical versions of content. Secondly, in a distributed environment federation removes the need for local nodes to contain complete copies of the entire network. Xanadu had provisions for the first aspect by not the second while the Internet (more or less) has provisions for the second, but not the first, and free network services--in some senses--attempt to bring the second form of federation to the web and to the Internet.

Federation, for free network services, means finding ways of communicating data between websites so that networks of information can be built in the same way that networks of computers have already been built.


In Stars in my Pocket Like Grains of Sand Delany’s “Internet” is a service called “General Information” or GI which exists in a neural link for some of the characters. GI isn’t always complete, or accessible in it’s most up to date format--and it’s users know this--and accept it as a price for living in an interstellar society, but it is accessible on an interstellar level. GI, like free network services is built (either implicitly or explicitly) with the notion that a node on the network could go offline, continue to develop and be useful, and then go back on-line later, and “sync” with it’s peer nodes, thus creating some measure of resilience in the network.

The contemporary network uses a resilient routing system to “get around” nodes that drop offline, whereas a truly federated system would store diffs across time and use this “temporal” information to maintain a consistent network. This sort of consistency is going to be really useful--not only because it would allow individuals and small groups to provide their own networked computing services locally, but also because providing data connectivity that is free, always-accessible, fault tallerant, and high speed, is unlikely to appear universally… ever, and certainly not for a long time.


I suppose the next step in this train of thought is to include some discussion of my friend joe’s project called “haven,” which would tie this to the discussions I’ve been having with regards to databases. But that’s a problem for another time.

tycho, happy birthday

So, I feel like, in honor of the fact that today is my birthday, I’m going to write a little bit of a self centered and reflective post. Don’t worry. I have a post ready for you for later today that’s… of more general appeal.

I feel pretty good about the way things are going these days. I still have a pretty big todo list, of course, but I don’t really find myself going to bed wondering “how did it get so late and what did I do with my day?” which is a sign that I’m in rough shape. Nonetheless, I’ve been distractable of late, to combat this I’ve been working more concertedly on the laptop, and using my desktop-rig as a more social environment. I’m not entirely pleased with this setup, but I’m getting work done, so that’s worth something.

I’ve also been getting up early (wake-times before 7:00 am) and asleep whenever it feels required, usually 11 (on average), and while I haven’t been exercising regularly (as in walks), I have been dancing a lot. It’s Morris Dance season, so that makes up for things--slightly. Our ale, the gathering I go to every memorial day, is this weekend (of course) and that promises to be a lot of fun. In any case, I think good self-care/activity levels are a big reason of why I’m not in the loony bin. Also, I think my stamina has improved as a result and I’m able to do Morris dance without my knees giving me problems, and/or wearing myself out quite as much. At the same time I’ve spent a lot of time in recent days getting ready for the Morris Ale (it’s amazing how many pairs of socks one needs/wants at an ale!)

I fear that I write with too many parentheticals. I’m able to counter this tendency in fiction, but I’ve failed at it in blog posts. My brain was made for footnotes, I suppose. I’ve not found a suitably fast markdown converter that supports footnotes, so I’m not writing with footnotes, and as a result parens usage goes through the rough. I wonder what’s going to happen when I have to write real academic things again. As a corollary, I’m pretty sure that my blog-writing “sounds” very much like the way I talk, if you were wondering.

And that’s about it. I’m not doing anything really special for the day, be in touch, though, it’s always fun to talk to you all.

Cheers!

free and open terminology

As, I’m sure many of you know, language and “what we call things” in the free software/open source world is a huge thing. Some people will probably get mad for my use of the slash in the previous sentence. This post, is mostly for my own good, as an experiment (and for future reference) to see where I stand on various word-choice questions in this area. I’m going to organize the post as a series of (brief) reflections a couple of key words.

Free Software

I think free software, addresses and represents the core of what this whole mess is about. Free software--as an idea--addresses the communities, the “hacking spirit,” the ideological goals, the political and philosophical elements of the community.

It’s also horribly confusing in English, and no matter how often we say “free as in speech” or “free as in freedom,” it’s not really going to get better. I think, also, “libre” is a poor use of the English language, and I cringe a lot when I read it. I’ve taken, when possible to refer to “ideas about software freedom” and “the movement for software freedom,” which works as long as you don’t need to refer to a specific piece of software.

In those cases, I often cave and say “open source software” because it open source is a more clear adjective. I also think that open source describes “the thing” and the “process” more clearly, and that’s an advantage. I dislike that open source, means “not scary to big businesses,” and disregards the fact that this (free/open source) software is better/more valuable than proprietary/closed software because it is free and open source not simply because it happens to be better in quality.

GNU/Linux

I tend to say GNU/Linux, because--at least in my use cases--the kernel isn’t nearly as important to how I think about my operating system as all the tools that surround them, and if the next big thing in the Unix-like (open source) operating system was a Debian or Arch-like system with GNU parts around the FreeBSD kernel or the Solaris kernel, I’m there.

I switched from OS X to GNU/Linux mostly because I wanted: better package management and (oddly enough) to be able to run an X11 desktop. The truth was, I was basically running a GNU(ish) system around Darwin (OS X’s kernel), anyway.

writing in org mode

With all luck, I’ll have most of a draft of the short story I’ve been working on done by the time this goes live, but if not certainly rather soon there after. This is an exciting announcement in and of itself, but perhaps the more interesting thing is that in the process of doing this I sank into writing this story in org mode.

My general M.O. for writing for the last several years has just been to write and store the files in markdown and use whatever text editor I fancy. I write the blog this way, I write papers this way. Everything seems to work fine, there are converters for LaTeX, HTML, and the plain text format is absolutely and completely readable to people who aren’t as obsessive about text files as I am.

While I’m a huge org-mode proponent, I don’t tend to think that org-mode makes a particularly good writing environment (or haven’t, heretofore) because unless you use org-mode org files are sometimes a bit ugly, and the syntax is enough different from markdown to confuse me, and…

The general consensus, that I’ve seen is that while org-mode is indeed a great boon to the intensive-emacs user, that it’s not an ideal production editing environment. muse-mode, or my favored markdown-mode might be better if you’re actually writing text.

And then, as I got into the writing of this story, I realized that I was flipping rather seriously (and annoyingly) between my notes for the story and the story I was writing. Also, when I’m writing book-length (or conceptually book-length) work, I tend to break up the text into more manageable chapter-length or scene-length files, which is conceptually useful for me.

In a short story, it didn’t seem to make sense to break things up into more than one file, and after I’d written a couple thousand words, I realized that something needed to be done. I created a file, with some header meta-data (using the yaml form that jekyll), an org-mode statement to define custom-status words that seem relevant to the writing/editing process, and then first level headers define key scenes or breaks in the story. I’ve never written (or read, to the best of my memory) a story that required more than one level of organization (but ymmv), and then--and this is the clever part as far as I’m concerned--property drawers for notes about what happens in the scene.

Property drawers stay folded by default, and are intended to store a collection of key-value pairs, but they don’t get exported by default, and so are a good way to keep your notes and your writing together and then export, as needed when drafting is done.

Also, I’ve recently added the following to my key-binding list, which adds a property drawer to the current heading, which is indeed a good thing:

(global-set-key "\M-p" 'org-insert-property-drawer)

I’ve posted a copy of my template file for your review and edification.

Comments?

glitch and web experiments

So, my laptop (where I seem to be doing most of my writing these days) seems to have developed a wee-glitch. It seems, that (somewhat randomly) the system just freezes irrevocably whilst, get this, scrolling on twitter.com. No really. I’ll be minding my own business, and suddenly firefox freezes, I can’t interact with the window manager, I can’t kill the window server and start over, I can’t switch to another virtual terminal to fix things, nada. Hold down the power button and restart. Interestingly throughout all of this the mouse still works, as if to taunt me.

I’ve not been able to produce the freezing in any other application, and I’m concerned that it might be hardware related (disk access has been sort of weird lately, it’s an older computer,) it could also be related to some of the dependencies in Awesome 3.3. I’m waiting for things to sort of even out on a number of fronts before I assign blame. (And switch distributions of GNU/Linux.)

My response, of late, has been to just avoid the web entirely. This isn’t a huge problem, as I try and avoid the web as much as possible. I mean, I lead a very networked/digitally connected life, but it turns out that most of it isn’t web-based on a day-to-day working sort of way.

The experiment, then is to see just how far in my avoidance of the web. The “information fast” isn’t a startlingly new idea, and I’m sort of interested in seeing how this affects my computer usage on the whole. Information fasts work, by forcing/allowing you to take a cold turkey break from the information that you consume and then re-evaluating your information consumption habits and seeing what’s worth sticking with and what’s not. So basically I’m using this as an exercise to see: What changes, if I say “ok now web-browser,” what tools and workflows do I develop, and is this a better way to work?

Hints and suggestions would be helpful. There are some practices that I need to get set up with, and using more effectively. Twitter and identi.ca via IM (check). Offline, multi-computer RSS reading. Offline access/browsing to common resources (eg WikipediaFS and other fuse resources; YaOddMuseMode for the EmacsWiki, some way of reading c2 wiki and so forth.)

We’ll see where that leads me. Do people have suggestions for tools in this (and other directions)? Has anyone done this before? Would anyone else be interested in doing the fast with me?

I look forward to hearing from you!

Update: I had a non-twitter related crash. I was browsing, loading a new page and scrolling on the existing page. Bam! I have, in response: upgraded the think-pad touch-point (or whatever) drivers to their jaunty versions as the sources were disabled during the upgrade.

I’ve also, in this vein, installed and have a fairly effective copy of w3m, an emacs-accessible browser, running. While I don’t think this is the way forward forcing myself to use an editor-based browser, might allow me to focus more effectively and rely on the Web more for information than for entertainment. As it should be!

sustainable ecology

Here’s another in the train of posts about economics and sustainability. I started with meditations on cooperatives, and openness and martian economics, and then business in network service. And finally, a brief thought on the state of contemporary marriage. This post takes a step back so that I can talk about what I mean by sustainability, which I think requires a bit of a sidestep into thinking about ecology and the environment.

Sustainability, as I’ve come to think about it seems to be more about directing economic activity toward independence, an self sufficiency rather than toward “growth,” (the for-profit model) and charitable/philanthropic goals (the non-profit model).

No sooner do I say this, and I realize that being a proponent of sustainable approaches to economics makes me seem like something of an economic isolationist, and I think that’s the wrong direction. The problem with sustainability isn’t just that it’s hard to accomplish in pragmatic terms, but also hard to think about. We simply don’t have structures or models for people and groups who want to make an honest living creating new things (eg. fiction, computers, cabinets, software, agriculture/comestibles, pharmaceuticals, plumbing, newspapers, etc).

Sure, we know how to make things, and most of us manage to make a living at it, but our economic models rely on lots of growth and expansion in order for capital to be available (cite: current economic crisis). The missing piece--it seems to me--is a more systems-based approach to economic development and corporate organization.

Sustainability is, after all, an ecological idea and in this context. And discussions of the environment and ecology seem way more focused on sentimentality, hydrocarbon intput/output, and humanity’s impact on the environment in the context of our existing (non sustainable) business practices and not enough time thinking about our business practices in environmental terms. But taking an “ecological” approach to economics signifies (in my mind) attention to the economy as a whole, and sustainability as a practice, and that seems like it would be a good thing.

In the Mars books (which have been quite influential in this series) a few characters float the notion of an “eco-economics” where currency (such as it exists), are based on caloric input and output. Which is a nifty way to think about it. The strongest part of the martian government (near the end of the series) is a regulatory “environmental court” that attempts to manage the ecological/economical activities on a global scale. They’re reasonably effective at this.

I return the Mars books because they’re fresh in my mind, and because they present a possibility that’s both radically different from our current system and that attends to the weight of our history. I don’t think that the Robinson-Mars solution is the answer to our economic problems but it does force us to say “20th centry growth-levels are unsustainable, and undesirable,” and that “from a systems-based approach (if no other) capitalism is unstable.” And that’s a useful thought exercise.

As is the project of thinking about economics in environmental terms. Not because it will diminish human impact on ecologies--though it may--but because that sort of systems approach will lead to more sustainable economies and better lives for all parties to that activity--human and environmental.

That’s a worthwhile goal.

co-op marriage

A (gay) friend was talking about the ongoing drama of his parents (decades old) divorce. I said, “I don’t get this whole [gay] marriage thing.”

“Right,” he said.

“I mean, whatever, but I think we need to work on convincing straight people to not get married rather than convincing states to let us get married,” I said.

“It’ll never happen,” he said.

“Right, besides we’d need better Corporate law, and good luck seeing that happen,” I said. “I mean what we really need are ways to incorporate sustainable co-operatives without the concepts/burdens for-profit/non-profit entities.”


Which is, if you’ve ever wondered, what its like to live in my head.

When we get down to the heart of the issue, marriage has a lot to do with inheritance, powers of attorney, legal agent-representation stuff (is that different than powers of attorney), relationships and families are orthogonal.

This isn’t to say that either the importance of the combined legal entity of a married couple or the legal recognition of a relationship/family isn’t a valuable institution, but marriage seems to be a poor implementation of either and both.

database market

This post is the spiritual sequal to my (slight) diatribe against database powered websites of a few weeks ago. And a continuation of my thoughts regarding the acquisition of Sun Microsystems by Oracle. Just to add a quick subtitle: Oracle is a huge vendor of database software, and about 18 months ago (? or so) Sun acquired mySQL which is the largest and most successful open-source competitor to Oracle’s products.

With all this swirling around in my head I’ve been thinking about the future of database technology. Like ya’do…

For many years, 15 at least, relational database systems (rdbms') have ruled without much opposition. This is where Oracle has succeeded, and mySQL is an example of this kind of system, and on the whole they accomplish what they set out to do very well.

The issue, and this is what I touched on the last time around, is that these kinds of systems don’t “bend” well, which is to say, if you have a system that needs flexibility, or that is storing a lot of dissimilar sorts of data, the relational database model stops making a lot of sense. Relational databases are big collections of connected tabular data and unless the data is regular and easily tabulated… it’s a big mess.

So we’re starting to see things like CouchDB, google’s big table, Etoile’s CoreObject MonetDB that manage data, but in a much more flexible and potentially multi-dimensional way. Which is good when you need to merge dissimilar kinds of data.

So I can tell the winds are blowing in a new direction, but this is very much outside of the boundaries of my area of expertice or familiarity. This leads me to two obvious conclusions

1. For people in the know: What’s happening with database engines, and the software that is built upon these database systems. I suspect there’s always going to be a certain measure of legacy data around, and developers who are used to developing against RBDMS' aren’t going to let go of that easily.

At the same time, there’s a lot of rumbling that suggests that something new is going to happen. Does anyone have a sense of where that’s going?

2. For people who lost me at when I said the word database: In a lot of ways, I think this has a huge impact on how we use computers and what technology is able to do in the near term. Computers are really powerful today. In the nineties the revolution in computing was that hardware was vastly more powerful than it had been before; in the aughts it became cheaper. In the teens--I’d wager--it’ll become more useful, and the evolution of database systems is an incredibly huge part of this next phase of development.