Geometron: A Geometry Based Meta-language
We are told that computers have been a revolutionary technology because they enable more powerful "computation" than ever before. A close examination of the specific applications that have revolutionized society shows that this is false. Nature and technology can compute just fine without us. We know based on our current world view that all mechanical, electrical, chemical, fluid and biological interactions may be viewed as computation.
What a "computer" actually does is communicate. It creates an information channel between the human mind and the system that is computing, and creates languages that allows us to modify that channel at will. Furthermore, it allows us to use this to communicate with each other, again by allowing us to not just use our existing languages to but to create new ones.
Consider what "computing" technologies have had the largest impact: graphical user interfaces, object oriented programming, ethernet, the tablet computer, the touchscreen, the LCD and LED display, Facebook, Microsoft, uber, eBay, amazon, paypal, twitter, and many others--none of these things are based on actual computation in the original Turing machine definition. They are based on creating new ways to communicate, building their own specific languages for a specific task.
"Experts" in computer concepts continue to be surprised that the technologies that change everything are based on small differences in things like brand and marketing rather than "pure" technological superiority. But this is based on a false dichotomy. If we view the computing system as being a combination of the machine and the users, things like brand and marketing are actually a part of the information processor, and are just as central to its functioning as things like clock speed or memory density.
We must remember that most of our core ideas about computer science from the middle part of the last century were worked out by either spies(anyone who was anyone in computation or applied math worked for the intelligence community during WWII) or phone company employees(Bell Labs). They should be forgiven for not seeing the big picture of a system that did not yet exist in their day, but they missed the largest and most powerful part of any computer system: us. Humanity. The modern "computer" is not useful because it computes in some classical mathematical sense. It is useful because of how it process human information.
This leads to the core problem Geometron is designed to address: the rapid construction of specific languages for human and machine communication. Right now we have a multitude of very specific languages we use for many tasks: hail a car from Uber or Lyft, tell Amazon to ship a book, send an emoticon to a Facebook friend, or add a hashtag to a tweet. All of these are constructed by large slow moving companies that separate the user from the developer. This system has become the nervous system of our society and the distinct separation between the developers and the users is at the core of the problems with that society.
I want to say a little more about how broadly I'm defining "language" here. I would say that almost everything people do in a modern industrial society is effectively some form of information processing. Increasingly we find that people in almost every different field who are at the top of their respective fields mostly make something similar to Powerpoint slides and move those slides around. This system, based on a few words and a lot of pictures powers big companies, finance, government, the creation of new startup companies, and the funding of non profits and religions. It governs our politics, culture and art. And yet very little attention has been focused on trying to improve the core structure of this. We find people solving billion dollar problems(like building a quantum computer) using a 100 dollar piece of software designed by people who know nothing about their industry(Powerpoint), and people making huge amounts of money for very little as middle men, simply by "owning" the pipe that others use to communicate.
What I have attempted to accomplish by creating Geometron is a generalized alternative. I want to allow all users of machines to be able to create our own languages on the fly, so that the people who use all these languages can have control over their own informational environment. If done correctly, this project can address the core injustice of our age: inequality. Put another way, the goal is to democratize information processing.
And how do we do this?
- First of all we must recognize that geometric thinking is more natural for most people than numerical. People object when I say this because they found concepts in school involving trigonometry, geometric proofs or computation of areas and volumes to be difficult. But that's not what I mean. I mean people recognize shapes and symbols and pictures more effectively than numbers, and those things carry a more useful meaning in most cases. It's not accident that 50 years ago computers worked with punch cards, pure binary data, and now are largely used to work with an image with a few words of text over it(this describes both a PowerPoint slide and an Internet meme). Emoticons, glyphs, memes, gifs, slide decks, icons--these are the things that make up the most powerful part of the modern computer, and we should build language accordingly.
- The "Open Web", consisting of HTML5, Javascript, and CSS are the most powerful machine language in history by far. Linguists have a saying: "a language is a dialect with an army." Number of users and the power of those users in society determines the power of a language. No other system of communication even comes close to the scale of use of this system: if you make something using the open web that runs on the standard browsers, you have something that can run on any phone, tablet, computer, game system, server, and a whole lot of other things, and you have something that has a huge social infrastructure built in to keep that whole system connected and running. Even as the specs of this system evolve it seems unlikely to be surpassed by anything in the foreseeable future.
- We as a society already know way more than any of us, or even a reasonably sized group of us(say 100 people) can get a mental handle on. We know enough to provide infinite plenty for all humans, but we can't get there because none of us control our technology. Thus the major task of our time is not to find still more information, as we are taught in school(I was trained as a scientist), but to *organize* the information we already have.
- If we want to democratize control of information is must be as "light weight" as possible, and as physical as possible. It's much easier to save, load, read, and encrypt a a piece of information a few characters long than a gigabyte file. Part of why the modern html-based web is so powerful is that we can use hyperlinks to existing resources as shortcuts, avoiding re-saving the same huge block of data by simply pointing to that information. I use that principle here repeatedly, making pointers both to information outside of Geometron and mostly to other elements of Geometron itself. Also, rather than hide the physical layer in some mysterious hardware buried inside the machine, I seek to create a system of storing and recalling information that connects directly to the open web by encoding information in physical objects by cutting into solids like plastics, stone, ceramics, metal, glass etc, using simple machines controlled from the browser and reading them out using cameras also controlled from the browser. This can create a physical data layer for the open web which is not just easy and secure and free, but can actually last for thousands of years rather than single digits of years as is common now. Furthermore, the integration of physical data into machines can democratize the process of industrial production by integrating the documentation of building a thing into the thing.
The above list constitutes a set of motivating *ideas* toward creating Geometron, but there are also a set of principles that have guided me, which I propose to keep in mind in further development. They are three positive rules and three negative rules:
1A: EVERYTHING IS PHYSICAL
The physical layer must always be considered in any information system, and the user must control it. This means we must consider the methods of physically recording data, the location of a machine in physical space, and how that machine relates to the body of the human user.
2A: EVERYTHING IS RECURSIVE
All systems should be designed to reference themselves. Life is always self-replicating, and to build better technology we should build all components to have the basic property of "pointing" back to themselves. This self-reference is what computer scientists call recursion and it's built into the basic fabric of Geometron from the beginning.
3A: EVERYTHING IS FRACTAL
Fixed scales should be avoided both in software and in hardware. One of the weaknesses of modern technology is that it always has the maximum possible precision by default. Again, this is in opposition to the Natural world where everything has a fractal nature and precision scales with size. Thus in micro fabrication rather than having total accuracy of device placement on the sub-micrometer scale we have cm scale for part of the system, mm scale for part, 100 micron for part, and so on down to the atomic scale. One of the reasons the 1990s nanotechnology efforts have so decisively failed is the failure to recognize this aspect of technology.
1B: NO MINING
Humanity has dug up enough material to last a thousand lifetimes! We are surrounded by plastic, glass and metal waste on all sides everywhere on the planet, as well as "junk" that still works but is not used due to obsolescence. The physical layer of Geometron is always designed to work on the oldest possible equipment, and with maximal repurposing of trash into workable hardware. We have plenty of screens and batteries for a whole 10 billion person human race to have smart information devices, we just haven't organized the matter correctly yet.
2B: NO MONEY
Money: the use of integer numbers to describe value. This has been very useful for a few thousand years, but as a model for value it's breaking apart. People blame various factors for this and propose bandaid solutions but the problem goes much deeper. Integer numbers have run their course. They're a great model but they are just that: a model. New technologies need to leave money behind and seek to create patterns outside the Money system. That's why the "business plan" in this document involves no equity, debt, inventory, employees, or real estate. It's just people talking about stuff and building stuff, which does not need money. We all need money to survive in today's society but the things we build should function without it.
3B: NO PROPERTY
Again, property has had its place in history, largely to help stimulate humans to dig vast amounts of stuff out of the ground with great vigor for a few thousand years. But it's not working. Property may have its place in society at large for now but I would say that in building new and better technology we must totally renounce it as a philosophical idea. That means that the work produced here is not just "open source" or "GPL" or something, it is *public domain* with no restrictions whatsoever. And we will seek to always use as input materials media and machines that are totally public domain as well, even if it means using stuff over 100 years old by default.