This document is an overview of all current components of an overly ambitious project that will be making its way onto the web shortly. This material has been rather mechanically made into a webpage from an earlier text file, so numerous examples of infelicitous formatting will be all too visible.

This document contains brief summaries of almost all the projects I have been working on for the past twenty years or so. They are presented in one document because they have become so interrelated that I have trouble separating them, even in my own mind. They are all based on the same software, with individual additions for each component. Collectively they are really one project, too big for me to manage.

But I do have a scheme for creating, installing, and managing the software. Is a scheme which begins simply and can grow endlessly, beginning on my own website with my own feeble creations but expanding to use new software by other people as it becomes available and expanding to additional websites as people link into the system for their own reasons.

This (soon-to-be) large document will be put up as a web page on my site, and will also be included as part of the documentation for the software. The open-source part of the software -- almost all of the initial release -- will be made available as a compressed archive file on my website and through some large clearing house of open-source software such as SourceForge.Net as soon as possible.

CASA, which stands for Computer Assisted Social Activity, was originally intended as the name for a whole class of software, and could be applied to vast amounts of existing software by various people that in some way supports social activity. More recently I have used this phrase and acronym as the name for a specific project of my own, and in the past year and a half it has been loosely used as the name for a possible business or company.

In this document I will stick to earlier uses, mentioning the business aspects but not using the term as the name of any company. There will probably be businesses created to use and make money from CASA software, and that may be very important, but such a narrow use of the term and acronym is not appropriate here.

CASA has a close relationship to another project, the InterMix Club project or idea, suggested as the application of open-source CASA-like software in association with InterMix.ca for the organization of non-profit or open-source software activities. See the InterMix Club component description below for more information.

Use of CASA software in a business, perhaps a business simply called CASA, was originally suggested by Aaron Agassi, who pointed out the advantages of business supported advertising for bringing in users and thus improving the all-important pool size factor. CASA software will support social matching, such as matching people with co-workers, employers, friends and so on. The success of this matching depends on the number of participants, or the size of the pool of participants, called the pool size. A larger pool size means better matches can be found, so anything that can increase the pool size should be considered. Although I am personally more oriented towards non-profit activity I appreciate the value of Mr. Agassi's vision.

The use of CASA software for social matching will be a bootstrapping process, by which the best people for implementing the system or its various components will be matched for work on those tasks from the pool of participants. That will also apply to the non-profit InterMix component, and indeed the division of interested participants, contributors or potential employees will be divided between non-profit and for-profit organizations by the software itself.

People interested in the for-profit approach should see the CASA Proposal document at
casa.html
which was written jointly by Aaron Agassi and myself. A page on the InterMix Club will appear shortly, based on the InterMix Club component description to be found below. Both the non-profit and for-profit versions of the central ideas are being actively investigated and should interest many readers of this document.

As a business, CASA software will probably be installed on the World Wide Web as a free service for people who want to find friendship, love, work, education, business opportunities, discussion, cultural artifacts and entertainment. Rather than providing endless lists of good prospects it will perform matching and optimization based on profound mathematical concepts to give people good suggestions that will neither swamp the popular not neglect the unpopular. Suggestions will be improved by feedback and all of the system software will evolve towards genuine effectiveness.

The best overall description of the CASA component as a business will be found at the URL given above, (and here --
casa.html
-- so if you see this document as a web page or e-mail message can just click on the link now). More technical descriptions of the CASA software and links to open-source versions will be posted shortly. For now it should suffice to say that the software uses questionaires, advanced numerical methods to turn questionaire responses into descriptors in vector form, and bipartite matching to generate a stream of suggestions, with feedback used to update descriptors using roughly the Generalized Delta Rule associated with the training of neural networks.

The same software created for the existing CASA prototype is used in most of the other components described in this document, especially the Interpedia component described next.

The Interpedia component, based on contributions from many participants on the old
Interpedia mailing list
and the usenet newsgroup comp.infosystems.interpedia will consist of some pieces of software, some databases, and whatever web pages are listed in the databases. To begin with it will consist of my own (beta) software, installed on my website, with my preliminary SQL database of words and URLs.

To use the Interpedia, you will go to a specific web page containing a query form, type in a one or two (etc.) word query string, and click on the button to submit the form. The CGI software will look up the word in an SQL database, find the best URL (or give you a choice of them), and take you to the appropriate web page.

Typically the queries will be one or two word subject headings, exactly what you might look up in an encyclopedia, such as:

Nominalism

University

Avicenna

Boole, George

Berlin

Algebraic Structures

Just as you could look up each of these items in a good encyclopedia like the Encyclopaedia Britannica, so you could look up each item on the Interpedia. Unlike a search engine, however, which would just return a list of web pages containing the word 'university' or the name 'Avicenna', the Interpedia will either take you directly to a web page specific to that topic, or return a list of web pages which are all like encyclopedia entries on the topic.

Some topic words may be represented by several different URLs, so that when you look up 'Berlin' the software may ask you if you want the German city or the '80s rock group.

There will be no one site containing the Interpedia software and topic database; at most there will be one default site for people who have not specified their own preferences. Initially, until other people have installed the software, the default site will be my own. After that various defaults will be installed with operating systems and browsers, but can easily be changed by individual users or their close associates. For more information on this process, see the CASA and InterMix Club entries.

The Interpedia software is not (on the whole) very sophisticated. In normal operation it merely looks up web page URLs in a database. But it includes software for setting up and populating that database, making changes to it, backing it up, and exchanging copies or entries with other people. The only sophisticated parts of the Interpedia software are the estimating, representation, matching and optimization parts, but these are actually just variations on the CASA and InterMix Club programs.

In principle the databases used by the Interpedia could be nothing more than tables maintained entirely by one person, who enters each record individually by hand. But in practice this would be much too cumbersome, so the software uses CASA-like technology to find good matches for each topic and each site's database. You may not know who Avicenna is or why anyone would want to read about him, but if you allow the Interpedia software to do so it will look for encyclopedia-like web pages about Avicenna, pick the one that best matches your site in tone, erudition, and bias, then install that web page's URL in your site's database.

Interpedia software will also undergo evolution and specialization, so you will have a choice among various versions of the software. Choice of software components is also something you could do manually, but again the default site's Interpedia software will provide a mechanism for automatically matching software components to the properties or personality of your website.

The initial version of the Interpedia software include only the manual editing components, but will include a mechanism for importing and using CASA or InterMix Club software to do the matching as soon as either of those become available.

Comments, evaluations, and specific relational links for web pages and software will be available to the software, supporting all of the Seal Of APproval (SOAP) mechanism described in the early days of the long-forgotten Interpedia Project once discussed on that mailing list. This mechanism will ensure that people wanting unbiased and accurate information will find it.

Interpedia pages should include descriptors such as used in the Web Page Descriptor component, below, to allow precise search with ordinary search engines. Essentially these descriptors are short sequences of letters that are not (normally) words in any language but uniquely encode the topic, meaning, or content of a web page, or the person who wrote it. If you search for such descriptor words using an ordinary search engine it will return a list of pages including those descriptors, and therefore a list of Interpedia pages on a given topic or by a given person.

Such descriptor words will not, as mentioned, normally be part of any language, but they will most likely be words from the Acronymic Language component of this overall project. Please see the discussion of that component for more information.

The Interpedia will support the Covariance Micro-Payment component. As with everything that uses that mechanism, people will be able to opt in or opt out of that system. Those who opt in will pay microscopic amounts of money to the authors of pages they access, but will also receive significant amounts of money cumulatively from all participants who access their web pages. Participation will probably be seen as advantageous by most people, so browser and operating system defaults will probably be set to 'opt-in', but people will be able to choose their own preferences. Payments will most likely be by debits and credits to people's Internet Service Provider (ISP) accounts. See the Covariance Micro-Payment component section for more information.

An expanded version of this Interpedia section will soon appear as an Interpedia entry in the Interpedia, listed as an entry in the SQL database of such entries on my website.

The idea for the InterMix Club component comes from Roger Eaton of InterMix.ca and more information about InterMix can be found at the obvious URL of
http://www.InterMix.ca/
and soon via a webpage version of this document. One could regard the InterMix Club component as just the CASA component specialized for non-profit or open-source uses, but the consequences of such specialization are so significant as to merit an individual section.

As a business, CASA is essentially one for-profit company and has a bias toward centralization and a client-server approach, regardless of whether a central site and central server are actually used or not. The InterMix Club approach is essentially a non-profit open-source approach in which many sites are expected to install and operate the open-source software. Therefore the client-server approach is less appropriate and we will move towards an entirely peer-to-peer approach in which almost everyone who uses the system is potentially a server as well as a client. That will change everything.

Unlike the centralizing CASA, the InterMix Club is decentralized, democratic, and something of an intentional anarchy. That has advantages and disadvantages. It is perhaps easier to imagine the disadvantages, since anarchy is generally considered a negative term. People who watched televised scenes from Mogadishu near the time of the US intervention in Somalia may understand that attitude. But amongst Internet and WWW users there is an appreciation of the advantages of anarchic organization -- such people understand that 'anarchic organization' is not an oxymoron. Something can be be both anarchic and well organized.

The InterMix Club software will initially be the same software as the proposed CASA business will use, but while the later will evolve away from public scrutiny and become proprietary, the InterMix Club software will remain open-source as it develops. Different open-source versions will almost certainly appear, and I will have no control over what happens to it or what it is used for. The CASA business will have access to whatever InterMix develops, since that will be open to all, while proprietary CASA software will belong to the company that creates it. But the CASA business must depend on the few employees it can afford to hire, while the freely-redistributable InterMix software will be able to draw on large numbers of volunteer software designers, coders, and testers worldwide, as Linux and GNU software does.

CASA software will belong to a company, like Microsoft Windows does. InterMix Club software will be more like Linux.

But how will it differ in functionality and architecture? That has not been decided yet. It won't be entirely decided ever, since it must become whatever its volunteer developers make it become. It will not be oriented towards paid services, central control, secrecy, proprietary collections of data, nor paying for data. It will be more oriented towards groups of volunteers helping people who need help, instead of companies delivering services to other companies or to people with money to spend. The details remain to be discussed.

This is perhaps the oldest of the ideas presented here, and perhaps the strangest. To make it seem less strange I could explain the underlying mathematics and appeal to well known linguistic principles, but that has not been very effective in the past. Another approach would be to explain the long-perceived need for a universal or world language, citing Esperanto as an example of an attempt to meet that need. Or I could cite the recent attempts to use Esperanto or other simplified languages as intermediate languages in machine translation or machine understanding projects. But neither approach would get around the general impression that anyone interested in artificial and universal language is somewhat crazy. It is a favourite topic for crackpots everywhere.

Nevertheless, the Acronymic Language component, or AL component, or ALC (just to show you an acronym) is a serious attempt based on advanced mathematics and known linguistic principles to develop an ideal or universal language, an artificial language that could indeed be a world language, and could also be an intermediate language used in machine translation and similar Natural Language Processing or NLP projects -- as sane and serious a project as I can make it.

Once I start adding acronyms upon acronyms by calling it the Acronymic Language Component for Natural Language Processing, or ALCNLP for short, the weakness of ordinary acronyms becomes apparent. Part of the weakness of ALCNLP is its difficulty of pronunciation. We might, however envision a language in which most acronyms are easy to pronounce. Using DP to mean Difficulty of Pronunciation makes an acronym that demonstrates itself by being difficult to pronounce. But suppose we include the word 'of' from that phrase, as DoP or DOP meaning Difficulty Of Pronunciation. That acronym doesn't describe itself, since DOP is easy to pronounce. English often uses such small particles as 'of', 'in', 'a', or 'it', and they often begin with vowels. Which suggests a language in which all significant words with real content are expressed by consonants but any pair of such words needs a particle in between them, that particle to start with a vowel.

That's no stranger than most natural languages -- it's easy to describe, and not hard to define.

But what words do the initial letters stand for? Vast numbers of different three word phrases could start with the initial letters DOP. How do we know DOP has anything to do with Difficulty of Pronunciation? This sounds like a serious problem until we remember that many English words have lots of different meanings. The English word 'set' is a good example. In the (original edition of the) Oxford English Dictionary or OED the definitions for the word 'set' start on page 527 and go on to page 550, twenty four pages in all, but when we see that word we usually have little trouble understanding what is meant. Context is everything -- we can figure out the meanings meant by the context in which the words occur.

The Acronymic Language component includes an expander which consults the context to disambiguate the acronyms. Given a text consisting entirely of acronyms these acronyms can provide sufficient contextual information for the expander to expand each acronym correctly. In one context DOP might be expanded to Difficulty Of Pronunciation, while in another context it would be expanded to Dearth Of Poetry.

That latter expansion, Dearth Of Poetry was chosen carefully to illustrate a point. 'Dearth' meaning "an inadequate amount" can be seen as a kind of difficulty, while 'Poetry' and 'Pronunciation' have something in common, poetry being best when read aloud, i.e. pronounced. So the two expansions of DOP are related but different.

The Acronymic Language I described many years ago is precisely a language in which all different expansions of acronyms are related but different in meaning. Each and every word in the language is an acronym -- actually an acronym for several different but related phrases. So the language can be mechanically expanded, to spell out the acronyms based on contextual information, and the language can be mechanically summarized, abbreviating phrases by acronyms. In an age of information overflow, methods of automatic summarization have been much studied. A language that support automatic summarization and expansion could be quite valuable as an intermediate language in Natural Language Processing systems. It could also be an artificial language for people to use, perhaps a world language, as Esperanto tries to be.

'Artificial' may not be the appropriate word. Among the many possible languages with the properties just described there may be one that optimizes the sound/meaning correlation, representing meanings by the most onomatapoetic, mnemonic, or musically matching sounds. I think there is such an ideal language, which is not artificial at all, and may be the underlying ideal language in which apparently natural languages express their culture -- a concept found in Wilhelm von Humboldt's work. Whether this hypothesis holds up or not, software to support such a language and use it in natural language processing would be very valuable.

The Acronymic Language component of this overall project is merely one attempt to realize this idea, and has many inadequacies. Like most of the other components of the project it uses combinatorial optimization algorithms for matching -- in this case matching sounds to meanings, an approximately bipartite matching problem that's not much different from the one CASA addresses. It was work on the acronymic language and related work on sounds and meanings that led me to develop the software which later became part of CASA.

Although only partially implemented and probably not implemented well, this AL component is used by one other significant component of the overall project, which I call the Web Page Descriptors component, and which follows below. The descriptors described by Institute of Social Inventions Chairman Nicholas Albery (dare I abbreviate him to ISICNA?) are short strings of letters which resemble words but encode the contents of a web page or the individual who wrote it.

The idea was for people to find the descriptor word which most closely represents their classification or personal attributes and put that descriptor on their web page for other people to look for by means of ordinary search engines. Inevitably my attempts to implement this idea ran afoul of my acronymic language thinking, which didn't allow me to arbitrarily invent descriptors at random but insisted on good descriptors forming a system, preferably a system based on acronyms, and better still a system based on the best version of the acronymic language I could produce. (My apologies to Nicholas Albery for the delay in implementing his idea, which will continue for a short while longer).

More information about the idea of an acronymic language can be found on my existing web pages, especially the one at dpwilson/acronyms.html which gives some implementation ideas, not exactly those followed in creating this component, but clearly related.

Much more recently I've modified the approach described on my existing web pages to give the rest of humanity more input on what letters abbreviate what words. As with the vectors used in CASA and the InterMix Club components, the acronymic descriptors used as the basis for this acronymic language should evolve through user feedback. One way to do that is make public some initial matching of sounds and meanings, then allow people to adjust these assignments through ongoing use. What survives will be better than what I start with.

One of the most clever ideas I've heard of in recent years is the idea mentioned above of adding short descriptors to web pages. Nicholas Albery is the Chairman of the Institute for Social Inventions in London, England. He was interested in my ideas on using combinatorial optimization for social reorganization and improvement. One aspect or application of my approach which I try to downplay in print but do take quite seriously, is matching people for love and friendship -- just what expensive but probably worthless dating services might try to do. As it happened, an entirely different scheme for solving this problem was invented by Nicholas Albery himself, the use of descriptor strings on web pages.

I don't know how long search engines as we now know them will exist, especially if the Interpedia component of this project succeeds, but I hope it will continue to be possible to search vast numbers of web pages for specific words. Since such search engines do exist now, and it doesn't conflict with any other part of this project, I will be installing a simple version of this component to let people search for pages and people by descriptor string.

For more details on the basic idea, consult dpwilson/nicholas.html and for other material about approaches to the problem, look at the Acronymic Language component above. More distantly related are the CASA component above and the Mathematics and Software Definition component below. One way of funding all of this development long into the future is discussed immediately below as a simple approach to implementing something like of Ted Nelson's Xanadu project.

Long ago Ted Nelson conceived of Project Xandu, which attempted to solve the problem of funding creative work with micro-payments from many people. That basic idea was associated with much other proposed software involving hypertext and prefiguring the WorldWide Web.

Despite my great respect for Ted Nelson and WWW inventor Tim Berners-Lee, I am not enormously fond of hypertext nor the web itself, as is exists today, because the structure they use is something like a labyrinth in which it is easy to get lost and difficult to reach your goal. Search engines relieve those problems somewhat, but keyword searching leaves much to be desired. So my interest has long been in something like the Interpedia briefly described above as a component of this overall project. (The Interpedia supports hypertext but is not depend on it). The Covariance Micro-Payment component is partly an integration into the Interpedia idea of Ted Nelson's micro-payment scheme. CASA and the InterMix Club components are also involved.

Implicit in CASA and my Interpedia work is a flow of information about what a person wants. In CASA and the InterMix Club this is largely a flow of information about social relationships and opportunities, while in the Interpedia it is largely a flow of information about information -- what information sought and provided. But the Interpedia also includes social information, since it was intended from the outset to involve all the activities on the Internet.

In the Interpedia a page of information that is roughly an encyclopedia entry on a topic will be linked to other sources of information including social activities in the real world or in cyberspace. Unlike web pages Interpedia pages will not depend on their authors inserting hyperlinks by hand in the page -- though that will be supported, of course -- instead predefined keys or automatically created links will attach other content. A given key might always lead to a mailing list on the topic, while another might always lead to some reviews, and another to articles disputing the conclusions presented in the original one. By linking to mailing lists the Interpedia will link to people, but that will also be done directly.

All such relationships and links imply a flow of information, and key to making the Interpedia successful is exploiting information about who visits pages and follows up links, as a way to generate descriptors about the pages. As that happens, the same information can generate descriptors about the people themselves, for use in customizing Interpedia connections and for CASA or similar components.

(Technical note: if data about who visits what pages is put in a sparse matrix with a coded personal identification number indexing rows and a coded page description number indexing columns, each row of the matrix can be considered a (raw) descriptor (vector) for the person, and each column can be considered a (raw) descriptor (vector) for the web or Interpedia page. Considerable massaging of the data with methods akin to factor analysis is necessary to get the raw data into a useful (compressed) form).

This Xanadu-like component, inspired by Ted Nelson's work, makes use of that flow of information to create flows of money in parallel. The key idea is to permit people to opt-in or opt-out, with money flowing only between those who opt-in. If Ted Nelson was right, and few people would mind making micro-payments because they would indeed be microscopic amounts, then few people would bother opting out. People who did so would also lose any payments they might have received for their own material. Most people never create web pages and so would not receive any payments based on such pages anyway, but CASA and the Interpedia can include small payments based on any choices a person makes while using the system, all of which would be parts of information flowing within the system.

The last idea generalizes from some services currently operating on the web. People clicking on links found on web pages that currently exist often cause small payments made on a per-click-through basis to people who included the links or provided the page linked to. Other services pay microscopic amounts of money to people for ordinary web surfing, with these payments originating in the money paid for information about consumer's browsing habits. We can generalize these existing services and their miniscule payments to a payment for information by the bit or byte. A person who puts up a web page contributes several hundred or thousand bytes of information to the community. A person surfing the web who clicks on various links while doing so is also providing information, which often accumulates in log files whether any payment is involved or not.

If you visit a page and click no links on it, that fact is information about you and about the page, whether or not anyone collects or uses the information. If you click on one or more hyperlinks, you again are transmitting bits and bytes of information about you and the pages you browsed through. All of this information is of some value even if you never put up a web page, send e-mail, buy stuff online, or play online games. It is all valuable information. Valued in the millionths of a penny, perhaps, but having value nonetheless. Most current software does nothing with this information, which is most often lost. The new CASA, Interpedia, and related software now being developed will collect and use this information, and can pay the people who provide it -- while protecting their anonymity.

A popular misconception is that information collected on the Internet is valuable only if it is explictly about specific individuals, and most people who think about this usually don't like this (mistaken) idea and would prefer to preserve their privacy. But in fact the most important information is not in individual records of who did what and when, but information that can be collected into covariance or autocorrelation matrices which include only item-to-item correlations, not individual data.

It is important to know that people who buy computers usually also buy stereo equipment, while most buyers of stereo equipment don't buy computers (yet). It is important to know that people who like mathematics usually are very fond of music, but often not the other way around. However it is not important who bought the computers or the stereos, or who likes mathematics or music, just the implicit relationships or correlations. These correlations, collected into covariance matrices, are very valuable. Specific information about specific people is much less important.

The whole question of the relative value of different types of information is controversial, and many vendors might indeed like information about individual prospective customers, but those issues are not important for this Covariance Micro-Payment component. All we need do is consider the collection of covariance information and pay for it appropriately, by the bit, regardless of what other information we might have used, and paid for, if considerations of personal privacy were ignored.

Anyone using the system -- the web, CASA, or the Interpedia, or whatever services follow them -- will contribute explicit information as web pages and on the forms they might contain, but they will also contribute implicit information, invisibly and impersonally in the covariance matrices which captures the interrelatedness and interdependencies amongst all of our choices. If they opt-in they can get paid for this information. If they opt-out they will not. Their privacy will be maintained either way. There will be no reason to opt-out, so most people will opt-in and receive payment for their contributions, including the inadvertent ones that follow their ordinary browsing activities.

The exact amounts of such payments is not yet known and can hardly be guessed at. For most people they will be small. Currently the few schemes that let people collect money for browsing run somewhere around a cent a click, sometimes much less, sometimes more. With careful management, I think these payments would be enough to pay for most peoples's Internet access, with heavy users showing some profit and light users still paying something to their Internet Service Providers for the services they are underusing. People who are more creative, contributing explicit content as well as implicit covariance information will be able to make significant amounts of money.

A natural way to collect charges and make payments would be to incorporate the flow of money into the accounts people maintain with their ISP for Internet access. As information service convergence brings multiple services together, people's micro-payment income will probably flow into each household's combined telephone, cable television, and Internet account, often covering the entire cost of the combination service and sometimes generating a surplus to be paid to the users.

This component of the overall project is the newest and the least solid, with many details yet to be considered. Obviously such a partial implementation that only includes a few aspects of Ted Nelson's ideas and perverts other beyond recognition would not satisfy him and doesn't satisfy me. But it is a place to start. Given both some CASA-like and some Interpedia-like system in operation and someday being popular, the amounts of money involved could be significant, perhaps enough to rescue the basic idea of micro-payment from oblivion. It won't be "universal micro-payment" for a long time, probably never, but it may come close enough for practical purposes.

CASA will match people to people (and to groups, events, situations, and so on), while the Interpedia will match people to information (etc.), but there is also room for matching people to the possible configurations of their software.

I have long been annoyed at systems like Microsoft Windows and even Linux which include vast numbers of parameters and switches which can be set individually to customize the software. If you have 10 switches or parameters that can be set individually to ON or OFF, then your system has 1024 different configurations, 2 to the 10th power. Most of our software applications programs have at least that many. If you have 32 switches, then you have 4 billion possible configurations, 2 to the 32nd power. Most operating systems or window managers have at least that. It is absurd to make people choose from amongst even a thousand configurations, let alone billions.

An alternative to such an obscene range of choices is the named configuration approach, which has been implemented to some extent on various platforms. Understand this first, then look at the plans for CASA and the Interpedia mentioned above, and you should be able to anticipate what I am proposing.

With named configurations you should have some default configuration with an appropriate name like 'default', you should be able to modify that configuration by changing individual switches or parameters, and you should be able to save the new configuration under a new name. Doing so will result in a collection of named configurations which you can change between quite easily. If that is available, then it should be a simple matter to post named-configurations on the Internet and download ones created by other people. You would then be able to edit any configuration, making large or small changes as you see fit, save the result under yet another new name, and post it on the Internet.

The ability to reconfigure your entire system including all software application packages at login time, according to your login name is an obvious consequence, as are various defaults by office, company, nation, and so on. If you move to a different machine, perhaps in a different company or city, you could then immediately retrieve your own favourite personal configuration over the Internet.

If you understand CASA and the Interpedia, you should be able to anticipate software that will guess at and recommend good configurations for you from your personal habits, answers to relevant questions, and previous configuration history -- as compared with information from other people available on the net.

Little more needs be said. It's all rather obvious. Why isn't this already happening?

It might help some people with mathematical intuitions to understand CASA and Interpedia ideas if they knew that many of my ideas involve attempts to factor large problems and represent them as products of simpler problems. In some way mathematics itself and most software comes from the same process.

Somehow this simple and natural process has gotten terribly difficult and unnatural. Working mathematicians have created a monster that nobody understands more than a tiny fraction of, and our software is also complicated to the point of perverse difficulty with little hope things will get better. The component discussed briefly above for Software Configuration control, with configuration-to-person matching to automate that control, is an attempt at making our large collection of strangely handicapped and absurdly complicated software easy to manage and customize. Mathematics itself could use something like that.

Software is in fact a kind of mathematics, an application of mathematical methods even when implemented by people who know little mathematics and wouldn't recognize what they have written as mathematical in nature. Within the formal methods, functional programming, and theory of computation communities the relationship between mathematics and computer software is well understood, but that hasn't helped much.

Part of the problem may be that people don't do enough of this factoring and subsequent taking products of the factors. Another part of the problem is more theoretical, involving the foundations of mathematics. This Mathematics and Software Definition component is actually the oldest part of this overall project, older even than the Acronymic Language component. In its first format, this component was a meta-mathematical theory about the role of definitions in mathematics. If one was foolish enough to adopt that theory, as I did, the consequence was an entirely different approach to doing mathematics, one which had more in common with the way software is produced.

It is worth thinking about languages such as Forth, in which writing software is simply a matter of defining more and more "words" in terms of words defined earlier or a small number of primitives. Forth uses a stack-based scheme related to Polish logic, but that is less interesting to me than the basic idea of writing software entirely by writing definitions. A similar approach, even more basic, is in the TRAC language in which "everything is a macro".

I am naive enough to think that the mere existence of general purpose programming languages that are based entirely on definitions is evidence that my earlier pursuit of a foundations for mathematics based only on the notion of definition could be achieved. More useful in the near term, however, would be the application of such definitional methods to bring software and mathematics closer together. For all my complaints about people with no mathematical background who nevertheless write software, there are many people who do have a background in mathematics and good mathematical intuitions and who do write software.

Such people will probably find little novelty in my assertion that software is really applied mathematics, even if I phrase it as "software is mathematics". But what if I say "mathematics is software"? That is a little less of a truism, even though it seems that way to me. I think it obvious that mathematics, software, and language are all very closely related and similar things, almost the same thing.

I could add music to that equation quite happily. On some of my web pages I state it more accurately by equating language to the union of mathematics and music, since language has both logic and sound integrally combined. That is more than a metaphor, to me, and not just a poetic, philosophical, or literary device, either, but to argue for it properly would take many documents as long as this one. For now I just want to bring language, mathematics, and software closer together, with a common methodology. If you want a clue about how music fits into this problem, note the presence of the word 'musically' in the description of the Acronymic Language component, above.

(Technical material warning: the non-mathematical could skip the next two paragraphs).

The key to my earlier work on the role of definitions in mathematics was the observation that to define one symbol by a sequence of others, as in A = BC is to state a relation, which could be one of many relations defined on a set of generators in the specification of an algebraic structure like a group or semigroup. People use the phrase "circular definition" to describe the situation where one thing is defined in terms of another, when that other is defined in terms of the previous one. Circular definitions are regarded as uninformative, but that is a gross caricature which only applies in the trivial case. The specification of an algebraic structure by means of relations (and the generators or symbols used in them) does (or can) define a closed structure in which each symbol is defined in terms of one of the others, but that (possibly very complicated) form of closure is not what people mean by "circular" except in the most trivial case.

I think mathematics is indeed an algebraic structure, not withstanding the common use of continuous lines or curves in illustrative diagrams, or the discussion of continuous surfaces or topology. In mathematics diagrams are not part of the formal mechanism, just aids to the understanding of it. The actual formal mechanism for mathematics is a set of discrete symbols placed adjacent to one another in ways that create elements of a vast algebraic structure. I think that structure can be specified entirely by means of formal definitions, without the use of axioms or the similar looking strings of symbols considered theorems, though both of these will turn out to represent elements of the structure.

(End of excessively technical section).

As with all the other components of this overall project, as discussed above, I've been working on this component as a partially independent project for a long time. As is the case elsewhere, what survives is not the individual small discoveries but the larger methodology, which suggests a web-based cooperative solution in which many contributors can do properly, for many things, what I have done poorly for a few.

One interesting project on the web is the QED project to produce a unified collection of mathematical theorems and proofs through the contributions of many. My plan is similar, except in using my own method of development by definitions instead of ordinary logic and set theory. Hardly anything more ambitious could be imagined -- except perhaps for the other component projects described above. It is surely madness to contemplate anything so grandiose.

Why is this important? Well, mathematics is probably the most advanced of all scientific endeavours, and most of it has never been applied for any practical end. We laugh at the physics, chemistry, and biology of two centuries ago, but two centuries ago mathematicians were making great discoveries which have not only stood the test of time, but are still a long way beyond the level of any undergraduate mathematics and have only missed serious application because of their extraordinary profundity and abstractness. But by basing mathematics on definitions and investigating it by software also based on a process of definition -- and by using group theory and other forms of abstract algebra to understand the structures so created, it will surely be possible to base powerful new applications on the available mathematics and create new mathematics beyond our current dreams.

As I said before, this is an ambitious project of itself, and quite beyond anything I could do on my own, but I have a plan for doing it on the Internet, and that plan makes use of the other components described above. CASA can match mathematician with each other, and with software people. The mathematics section of the Interpedia will require an arrangement of mathematical ideas and as many definitions as possible. And the concept of an acronymic language is a very mathematical concept capable of precise definition -- the presentation of mathematical ideas within it will surely be clearer and more accurate than is possible otherwise.

This mathematical definition component of the overall project is the most speculative and the most difficult to accomplish. Real mathematicians will only accept proofs, not speculation, but that requirement can and will be met.

This is a long page of information that is much too short for the ideas it contains. Its merit is the presentation of all aspects or components of a life's work in one continuous text written all in one sitting. I need to edit and improve it, and should probably expand it considerably, but I will try to keep this version at about this length as a single overview. In roughly this form it will be posted as a web page which anyone may read, and expanded versions of each section will become separate sections.

This documentation will most likely appear on the web before the software it describes, a new approach for me -- like all software people I tend to code first and document later. In fact I have written lots of code, which I have just been too shy to let people see and try out. Perhaps posting this on the web will make it easier for me to post the software that goes with it.

Please see these web pages:

Social Tech
a page about Social Technology, technology for social purposes. I think I was the first person to use this phrase on the Internet, quite a long time ago.

Roughly corresponding to these web pages are the following
blogs
:

Social Technology
the main blog, hosted on this site, with posts imported from the following blogger.com blogs, which still exist and are useable.

Find Compatibles
devoted to matching people with friends, lovers, jobs, places to live and so on, but doing so in ways that will actually work, using good math, good algorithms, good analysis.

Technological Fantasies
devoted to future stuff, new ideas, things that might be invented or might happen, such as what is listed above and below.

Sex-Politics-Religion
is a blog about these important topics, which I have been told should never be mentioned in polite conversation. Alright that advice does seem a bit dated, but many people are still told not to bring up these subjects around the dinner table.

I believe I was the first person on the Internet to use the phrase Social Technology -- years before the Web existed.

Those were the good old days, when the number of people using the net exceeed the amount of content on it, so that it was easy to start a discussion about such an upopular topic. Now things are different. There are so many web pages that the chances of anyone finding this page are low, even with good search engines like Google. Oh, well.

By Social Technology I mean the technology for organizing and maintaining human society. The example I had most firmly in mind is the subject of
Find Compatibles
, what I consider to be the key page, the one with the real solution to all other problems explained.

As I explained on my early mailing lists and later webpages, I find that social technology has hardly improved at all over the years. We still use representative democracy, exactly the same as it was used in the 18th century. By contrast, horse and buggy transporation has been replaced by automobiles and airplanes, enormous changes.

In the picture below you will see some 18th century technology, such as the ox-plow in the middle of the picture. How things have changed since then in agricultural technology. But we still use chance encounters, engagements and marriages to organize our home life and the raising of children.

I claim that great advances in social technology are not only possible but inevitable. I have written three novels about this, one preposterously long, 5000 pages, another merely very very long, 1500 pages. The third is short enough at 340 pages to be published some day. Maybe. The topic is still not interesting to most people. I will excerpt small parts of these novels on the web sometime, maybe even post the raw text for the larger two.

This site includes many pages dating from 1997 to 2008 which are quite out of date. They are included here partly to show the development of these ideas and partly to cover things the newer pages do not. There will be broken links where these pages referenced external sites. I've tried to fix up or maiintain all internal links, but some will probably have been missed. One may wish to look at
an earlier version of this page
, rather longer, and at an
overview
of most parts of what can be called a bigger project.

I have used a series of e-mail address over the years, each of which eventually became out of date because of a change of Internet services or became almost useless because of spam. Eventually I stuck with a Yahoo address, but my inbox still fills up with spam and their spam filter still removes messages I wanted to see. So I have switched to a new e-mail service. Web spiders should not be able to find it, since it is hidden in a jpeg picture. I have also made it difficult to reach me. The picture is not a clickable link. To send me e-mail you must want to do so badly enough to type this address in. That is a nuisance, for which I do apologize, but I just don't want a lot of mail from people who do not care about what I have to say.