I wanted a unified way to communicate about technology. The more I worked on the problem the more I felt that this is fundamental to all technological work: bad software is slowing down progress. Some software is bad because it's too specialized, other software because it's hard to use, other software because it's been deliberately broken as is the case with Adobe's deliberate breaking of bitmap features in Illustrator and vector graphics in Photoshop. Meanwhile pdf format is, again due to the nefarious behavior of Adobe, deliberately frustrating to work with and bloated.
I will look now at the broader picture: what were all the pieces of software I need to do work in applied physics and communicate about it? Here is a list of some of that software:
Using the Processing language led to using the processing.js library which led to learning javascript, which led to learning how to make html work well with javascript, which led to learning CSS and to a whole worldview. That worldview is that the web browser is the single most important computer in the world today.
Quite simply the will of the human mind is the motor that drives our world. Computer "scientists" draw diagrams in a make believe space and draw little ones and zeros in them, but this is nothing. It is fiction, part of a delusional religion.
The equivalent from our age of the Riddle of Steel is the Riddle of Silicon. Just as a young Conan the Barbarian must learn that the true power that rests in a steel sword is not the strength of the actual material steel, but the will of the wielder of that sword, so must the technologist of today understand that raw computation power of a silicon machine is nothing without the imagination of the minds that use it and create it. And unlike a computer, those minds operate in a world of art, not computation.
Where do computes come from? How are they created? We're taught it happens in something called a "fab" or fabrication facility, where rows of workers in "bunny suits" move wafers around and modify the molecular composition of the surfaces of those wafers. But this is no more where they come from than the shipping company which moves the box from the factory to the store. Where does it all actually begin?
The story of every computer begins in the human mind. And the only way for that story to get from the mind to metal and flesh is through artistic communication. An idea must be communicated in such a powerful way that the mind whose will is to be expressed by the computer must be able to imprint their desires on many other minds, or least on the mind of another who can in turn influence others.
And what exactly is the moment of genesis of a computer? I would argue it is generally when someone who wants to build a computer makes their case to those who have the power to organize resources to make the silicon fabrication actually happen. This is not something that happens in a lab with silicon, it is something that generally happens with an impassioned speech delivered with visual aids which in todays world almost always involve Microsoft Powerpoint or Apple's Keynote. And what exactly is Powerpoint? It is mainly a container for art of a fantastically universal kind: a mixture of different graphical media, with a few words interspersed to give the graphic arts more specific meaning.
After this moment, how does a computer reproduce itself? This might seem a silly question, since of course the physical silicon comes from a factory, but again it misses the point of the Riddle of Steel/Silicon. Factories close or grow. It is human will that decides which of these will happen, and we must examine what drives that will. The real fraud of "silicon valley" is that the people who push the actual silicon have taken credit for the reproduction of a system that is not driven by silicon at all: it is, like the genesis event described above, driven entirely by art. The most powerful entities in modern computers are those that control the art: facebook, twitter, snapchat, tumblr...these are all, like powerpoint, containers for art.
Twitter made billionaires out of its founders and made governments fall by essentially turning the "computer" into a poetry engine. This is one possible explanation for the fantastic power of Twitter in the Islamic world: the most powerful written work in that world(the Koran) is in the form of poetry. Facebook did the same thing with notes, journal entries, and amusing pictures, etc. And it is these enablers of art which have caused the billions of users to flock to "computers" and come to rely on them, not their actual math operations. And those users bought vast numbers of designed-to-fail phones which they had to constantly replace, and that is why those factories that actually push silicon around all day keep the lights on.
To summarize the life cycle of a "computer" in these terms then, it is an idea communicated by art, which then deploys the vast infrastructure of modern industrial society to build machines which are then used to spread art rapidly between the masses who dedicate some of their labor to procuring the money required to keep the machine that builds machines running, so they can make more art. Some of those people will present art to those who got rich owning this machine, and if that art is effective they will be granted the power to make more art machines. That's all. Do they compute? Sure. But to focus on that is to miss the point just as focusing on the exact type of cardboard of the boxes the machines are shipped in misses the point.
The universe is quite capable of computing without us. The universe is, according to our current world view, already a vast quantum computer, carrying out more computations in a given cubic centimeter than our species will in its whole lifetime, and with full quantum accuracy. So we're not building computers to somehow add to the basic computing ability of the world around us. No, we build computers to connect the human mind to that computer which already exists. And the human mind will always have an art layer that is fundamental to how it interacts with the world. In some cases this will be words, in some cases pictures, but in both cases, the other will be not far away(pictures with words, words with pictures).
Another core fraud of "silicon valley" is in the name. Aside from the fact that the current robber barons are in San Francisco, which is not a valley, no aspect of their fortune is due to silicon. They are primarily a group of bandits who have inserted themselves between the most powerful art engine in human history and the humans who use it. In another time, with other infrastructure, they might have been called highwaymen, but in many cases we just call them "governments": the group of people who use violence and threats of it to extract value from everyone who uses a commonly needed resource. A core goal of this work is to create a vector for artistic tools to spread without this group of bandits being involved at all, in hopes of breaking some of their stranglehold on modern society.
I will now go through each of these laws and discuss what they mean.
EVERYTHING IS FRACTAL. By this I mean that one idea to constantly keep in mind when designing a system with Geometron is that we should always focus on the relevant scale in a given situation. One of the problems I have with modern industrial technology is that everything is set to the maximum possible precision by default. For example, due to the economies of scale of microfabrication, we fabricate microchips in huge batches on wafers that are several 10's of cm across but have precision of all components on the 100 nm level. A Geometron based approach to microfabrication would not have a single precision, because the goals are different on a human level. If I'm fabricating one processor for my own use, I don't care about the same things as Intel or Motorola and view this more as a craft than an "industry" in the modern sense. And as with all crafts, there will be some slop built in based on what scale I'm working at. Thus, I might place the overall work area into position on a cm scale, fix the tool position on a mm scale, scan it with 10 micron precision, and then have a sub-tool affixed to it which can fill in details on a sub micron scale. I might also have another sub-tool affixed to that which can work at the atomic scale, but in all cases the relative position uncertainty is not smaller than 1%.
In software situations, the number of pixels in a field determines a reasonable level of precision in most cases. Thus for a 1000x1000 pixel area, 0.1% is the maximum that it ever makes sense to care about. Realistically this is far more than we usually care about, though, since for example an icon on a desktop might be just a few pixels across, making it have a relative precision locally of a few percent. Also, the exact position of the icon on the desktop relative to the overall screen shape is almost certainly not less than a few percent. While these statements might seem obvious and trivial they are at odds with the behavior of engineers in almost all cases, especially when computers are involved.
A final note on "everything is fractal" must be made on the limits of this law. I find the work of Mandelbrot in his book on the fractal geometry of nature to be pathalogical because it assumes a totally non-physical range of fractals. In reality the world around us is almost always described by fractal structure, but that fractal nature always has limitations. A leaf has veins in it which repeat in their behavior on multiple scales, but only up to a point: below the scale of a few leaf cells vein-like behavior is lost, and while vein like nature may exist in the branches that carry the leaves, it stops at the forrest level, and there is a clear phase change between leaf-vein and branch. Ideas like those of Mandelbrot, like those of Newton mentioned above, can be both powerful and beautiful, but to view them as absolute truths with an existence independent of the human mind, with infinite extent in some imaginary universe is just religious nonsense and is holding back our ability to build more robust technological systems.
EVERYTHING IS RECURSIVE. Fractals and recursion go together like peas and carrots. Recursion is when something makes reference to itself. Human language is by its very nature recursive. We use language to build language, constantly using words that reference words, sentences about sentences, books about books, ideas about ideas and so forth. By stating in black and white that everything is recursive we remind ourselves to always be thinking of this aspect of language and to use it constantly to make it as natural and easy to use as possible. As with the fractal nature of things recursion should be considered to be both everpresent and finite. That is, things can call themselves but they should not do so too many times, creating infinite loops. Infinite loops are non-physical which brings us to the next law:
EVERYTHING IS PHYSICAL.A popular quotation in physics is from Rolf Landauer, which says "information is physical". This is quoted repeatedly in both mesoscopic physics and quantum computation theory. I'm not sure what this is supposed to mean, but I'm skeptical of its intent. What does it mean for a thing to be physical? What is a thing that exists and how do we distinguish it in language from that which does not exist? I'm not sure there are easy answers to these questions. My observation from an anthropological view is that this phrase "information is physical" is used by physicists to denote the type of pontification that they are about to engage in, just as "there be dragons here" is used to denote humorous intent in regards to the incomprehensible in physics theory. In Geometron I use the "law" that everything is physical to simply state a philosophical view that the "non physical" is not a thing that is of use to us. This is no more or no less a proper scientific statement than "information is physical", but it is a position statement for a body of work. Either things are as you see them and feel them and interact with them or they are nothing. Disembodied ones and zeros on an imaginary tape in an imaginary space don't exist. Everything is either real or not. And real things can be interacted with. For the record, this is a position in which string theory is not a science, and is a poor excuse for a religion.
NO MONEY. Money is, like so many things we take for granted, just a model. It has its place and has been very productive in some spheres. However, in software it has had an extremely corrosive effect on everything. Software and money, when combined, always create injustice and evil. I state this without proof. If it is not obvious to the reader our world views are totally incompatible. However, just was we all use knowledge created by people from hundreds of years ago with totally different ideology from our own, it should be possible for those who believe software and money can coexist without doing Evil to use this work. Just don't expect cooperation or collaboration of any kind from the author or anyone working directly with the author. The work directly documented in this first version of this manuscript is released for free into the world, and will be further worked on as much for free as possible. I'm not sure how to make a living and survive in capitalist America this way, but I would rather fail at that than participate willingly in what I see as pure Evil, so this is my choice.
NO PROPERTY. Property is Evil. I will not attempt to argue with the reader on this subject. This is a belief I have come to through hard experience of what I consider to be Evil, with a capital "E". Accept it or not. But for the purpose of this project I reject any form of property, "intellectual" or otherwise. By the power vested in me by the evil "laws" of the propertarians, I release all my work presented here into the public domain with no restrictions whatsoever. I have reached a point in my life where I have decided to fight for what I believe in, to the death if needed, and I believe the claim to own an idea is evil.
NO MINING. The current industrial system consists of the following process: dig things up, use them to make people miserable, set them on fire, and bury them in the ground. It is time to break this cycle. Writing a piece of art software in javascript is hardly a major blow to all this, but it is another law of this project to at least attempt to minimize mining in all cases. That is why the physical implementations of Geometron are all built from trash when possible.
Creation of a class of map-making languages which smooth the process of non-experts quickly generating and using map data using computers. Some basic examples of this will be given in this work in regards to transit maps and treasure maps with some explanations of how to extend it. But a long term goal of this is to create a whole set of mapping dialects used by many different people in the field, which can grow and change and be maintained by those who need them.
Creation of self-documenting objects, like the "spime" concept popularized by Bruce Sterling. Ideally any given physical object will be described in a language which is also used by other similar machines. The information encoded in the artifact should be both human and machine readable and require all that is needed to replicate itself. This is the main long term goal of my work, as part of building what I call a "technological complete set", documented elsewhere.
Electronic lab notebooks remain a frustrating problem, and they are one I want to address at least for my own use with Geometron. In the short term I want to be able to create my own scientific and technical documents and records on the fly as I work, and the longer term goal for that project is to add a social element which blurs the line between peer reviewed archival research publications and the day to day data generation of what we now call a "lab notebook".
Another very ambitious long term goal that connects with the "spime" concept and the technological complete set mentioned above is the eventual replacement of the ubiquitous "smart phone" and tablet devices with something truly free.
All Geometron commands or symbols belong in one of eight layers, each of which consists of two 8 × 8 tablets. One is actions and one is symbols. Actions described by three digit addresses, a leading zero followed by one number from 0 to 7 denoting which tablet the address is in, one number for the row and one for the column of the given element of the tablet. Each address is a container for a sequence of Geometron addresses. The symbol addresses all begin with a "01", meaning another bit is added to the base 8 address number.
One way to think of the whole Geometron Hypercube is as a function which maps each point in a four dimensional array of cells back into itself, putting a one dimensional array of addresses in each address. The process by which this is done in computer code is with a colon separating an address from the address sequence contained at that address. This format is called "bytecode" and is one of several ways Geometron might be expressed. Geometron bytecode typically looks like this:
01345:0202,0200,0350,0334,0343,0335,0304, 01202:0202,0200,Each address after the colon is separated by a comma, and each line is separated by a "newline" character, generally denoted by "\n" when using javascript or a number of other similar languages. All this may sound strange since so far I have presented all Geometron commands as part of a purely graphical language. Those glyphs fit into the fourth layer up from zero as shown in the following table:
Action Type | Action Range | Symbol Type | Symbol Range | color |
---|---|---|---|---|
Math Actions | 0700-0777 | Math Symbols | 01700-01777 | orange |
Words | 0600-0677 | phrases | 01600-01677 | navy |
Image URLs | 0500-0577 | Image Names | 01500-01577 | yellow |
Manuscript Glyphs | 0400-0477 | Manuscript Text | 01400-01477 | green |
Geometry Actions | 0300-0377 | Geometry Symbol Glyphs | 01300-01377 | red |
Shape Actions | 0200-0277 | Shape Symbols | 01200-01277 | blue |
Font1 | 040-0176 | font2 | 01040-01176 | white |
Root Magic Actions | 00-037 | Root Magic Symbol Glyphs | 01000-01037 | purple |
Much of the hypercube is empty in most instances. Each cube in the hypercube is a self contained stack of tablets, each tablet is 8x8 and context determines which cube is being called by a given machine.
The JavaScript function doTheThing() is by default referencing the 03xxx cube, but context implies this so it's just 0xxx where 03xx are the geometry actions. Images are img tags in html in the html layer so they're actually at 045xx in the full hypercube.
May 9 2017 rework again, focus on two layers(cubes), one is symbol and one is action. That's it. doTheThing() processes all, but differently for different parts. Some are js operating on globals(03xx), some are js operating on DOM to build things. 0400s should be this. 01xx are *always* symbols.