地电子话
What is Geometron?
Geometron is two things: a language, and a way of organizing information. This whole project is based on the simple idea that as a civilization we already know far more than we need to and that the next frontier in knowledge is in
organizing the knowledge we already have. Another key idea used to build this structure is that the so-called "open web" is the single most powerful information processing system ever devised and that any attempt to better organize information must be based on it. Geometron is also based on the idea that communication based on geometric ideas like symmetry and shape can have enormous power and have been vastly under-used due to the emphasis our civilization has put on numbers.
In some sense, geometron is a computer language. The vast majority of what is found in this volume is based on building a language that exists on computers and was written in computer languages(mostly javascript, html, and css, the languages of the open web). But to lump it together with such languages as C or java would be to miss the point. It is more like a human language in the sense that while you can use a computer language to do things like search for words in a English document or compose a book in English, that does not make English a computer language. Or is it? Without comments, computer code is impossible to maintain or build in teams and without a output in a human language it is usually not very useful. And which is math? Machines do math, but generally are programmed in something more tailored to the machine and the human doing the coding.
This idea of math-as-language really gets to the heart of the matter. Geometron seeks to build a language that is useful both for human-human communication(like English) and for human-machine communication(like javascript), but which is independent of both. That is to say, it should be possible to express things in this system using only shapes and symbols in a self-contained way, then run those operations on a machine or send them to a human without ever writing a line of code in javascript or C or a line of language in English or Chinese. That is, this is an attempt to organize existing geometric knowledge into a language which can be used to communicate.
As I said in the first paragraph here, this language is only half of Geometron. The other half is the way that information is organized. This means doing things like considering how to sort words from images from equations in a way that helps organize document creation.
"Hello, World"
There is a tradition in the world of computer languages of introducing a language by printing the words "hello, world" in the simplest possible way as an example. I'm going to take the broader view of the "hello world" in this case however. Part of the point of geometron is that it's not based on a human language.
There are three commands here, shown in the graphical code above here. The first and last are the command for "draw circle", and the arrow indicates moving one unit to the right. There are several ways to express this in Geometron. Each of these commands also have an address in a stack of 8X8 grids. I'll get into this more later, but will show for completeness what this looks like:
0341,0333,0341
physical implementation
Basic Shapes
To illustrate the power of geometron, I will now construct the most basic shapes beyond the circle: the equilateral triangle, square, regular pentagon and regular hexagon. I'll go into much more detail about how the commands used here work later, but for now I'll just jump in with examples.
How to use this book
Who is this book for? Who is geometron for? It is difficult to answer this, since geometron is never intended to be a generalized language so much as a method of building specific languages. The long term goal of this project is to have it mutate into numerous separate languages and projects, all totally independent from one another. If that happens, it is my intention that this document also splinter, grow and change along with the language itself, which is part of why releasing it fully into the public domain is important.
I would say that in this first incarnation the intended audiences are:
- Me
- You
- General language enthusiasts(both human and computer)
- Artists
- Quantum computation researchers
- art Teachers
- Geometers
- Marketing professionals
- linguists
- inventors of language
- circuit benders
- game makers
- chess players
- science teachers
- mathematicians
I will also state who this is work is
not for. It is not for software "engineers" , computer "scientists", or "tech" entrepreneurs. Those groups constitute the enemy which this work is designed to help fight against. Perhaps you have a background in such things, as to some extent I do as an applied physicist. But when you work on Geometron, be prepared to leave your toxic Silicon Valley ideology and culture at the door or be asked to leave. By all means join us if you're ready to fight Evil, but this is not going to become yet another cesspool of trolling jerks on Stack Overflow, this is intended to be more of an art-driven non-technical culture, and as the Founder of this project I aim to use whatever powers I have over the work to keep it that way.
Any emails from members of the technocratic priesthood whining about how this work does not adhere to the standards of their "professions" will either be ignored or be reposted in a public space for public mockery and derision. You have been warned.
The nature fo this book will be very different for different people. Since Geometron is intended to make very specific languages from a common base, there will naturally be a lot of material that is critically important for some readers but both useless and incomprehensible to others. Therefore I plead with the reader to skip around as needed and take what you want from this work, ignoring whatever looks outside your sphere of interest. Given the intended breadth it is inevitable that almost no matter what your background is you'll see quite a few things like this.
Structure of this book
The Geometron language is not just a computer language like C or a human language like English. It's more of a hybrid which includes building physical objects, navigating the physical world, creating physical documents with various media as well as communication with both humans and machines. Therefore the structure will be unusual in that it will move freely between these spheres. I will try to provide examples in multiple of these layers.