「FISHING」# 1
thinking about technology
〈Tools For Productive Thought〉
Modern PROGRAMMING (000)
Exist many tools of productive thought which are indispensable for getting work done when that work is programming a distributed system — or a heterogeneous construct.
Interest surrounding decentralized systems is widespread.
And it is growing at a growing rate.
These systems aren't merely in the future — they are the future.
Now that being said, all the same, too many people have all the resources they need other than basic background knowledge which they need to get started doing anything useful with whatever else they do have.
Distributed social media will be discussed intermittently. Debating new ideas but doing so sufficiently technically that people can pick things up — do something with them — go play.
The series will gather speed. It will lead up to constructively discussing nested delegation.
Offloading tasks on learning machines which interact, share, and trade, and further offload, and live on blockchains and blockchain alternatives. Yet all this which nothing makes errors that cannot be corrected; nothing stuck or jammed. Then the alternatives to the alternatives: interesting things like databases without databases and then consensus without consensus. And automatic programming of automatic programming.
Garbage in useful out user interfaces. How do you make one? Now what about a good one?
How do you verify it works? Can you verify your reasoning about it?
And seeing how what is useful varies with the user the interfaces are therefore accompanied by actors which learn user preferences. In turn that leads to smart inputs and smart outputs, with pseudodomains besides domains and codomains.
"Only communion with whole individuals can make an individual whole."
--- Floyd Allport, 1933, Institutional Behavior
TOPICS
I will cover the recent work (last three years) of various researchers, and themes will include actor models, bi-n-actor models, micropipelines, distributed databases, decentralized applications, logic with change but no time, robust systems error correcting coding at multiple scales with embedded sparse patterns in larger units doing computational work that is now verified to be error free. By the way: do you know how the nervous system does this?
There will be a strong emphasis on automatic programming: separation of goals and methods, within the program, as means of getting large projects done quickly.
Stephen Wolfram (2002) writes that basic theory further along often makes it much, much easier to solve practical issues that are apparently difficult from another point of view.
For example: Do we seek to improve the user interface? Hide some information.
Problem? We added nested structure. Encapsulated. This violates associativity.
Solution. We can temporarily flatten structures by monadic procedures, merge some layers, leaving only simple aggregation. This makes for much simpler inputs with associativity, making the program easy to reason about.
Problem? We lost information. The program can do something the user now cannot access. That's not good. Larger problem? Our application is distributed and so different parts cannot interface in all possible ways with other parts and yet that might be what is needed for coordination to get the desired output for the network. What now? Now we . . .
For example: Do we have a compact manifold? One in which a finite graph is embedded? Yes?
Does it also have a Lorentz metric supporting direction in the sense of time? Most of them do. If so, then it also can have closed timelike curves somewhere.
Problem? This can be a problem. Suppose the graph is an updating database.
Then as you can imagine . . .
Solution? Spawn several sniffer processes whose task is heuristically detecting signals on their way to arrive prior others issued earlier from both perspectives and halting them all while sending restart messages to all the actors participating.
Problem? This violates the actor model. Which simply means that now a few other things might get stuck that would not get stuck were sniffers absent. Solution? There is one. It is . . .
What I will discuss is how to come up with axiomatic reasoning about indeterministic and often undecidable in advance systems. Then use that to make design choices which save time.
MY BLOGS
TEA TIME — taking a break and thinking
FISHING — thinking about technology
MACRO HIGH RES Art Photography Blog
「FOLLOW ME if you would like to see MORE」
goes without saying. (Or does it now that I said it?)