Write undistributed code that runs distributed
It's often useful to have an abstraction that lets us write code to one way to be silently executed in a different context. Such as writing synchronous code that actually runs asynchronously or concurrently.
It's often useful to have an abstraction that lets us write code to one way to be silently executed in a different context. Such as writing synchronous code that actually runs asynchronously or concurrently.
In many languages we can write asynchronous code with the await keyword - which makes the code feel synchronous even though it is not.
Another example is to use a polyfilled library - which makes your code's execution environment behave as if it supports features that other environments have.
Or an emulator emulates an set of hardware that is not present. Or virtualization allows you to share a CPU between operating systems by allowing a pass through of CPU instructions with a memory trap.
I wonder if through a similar concept we can write code that looks like it's not distributed - single threaded and centralised but actually runs on multiple machines.
Developers dont want to rewrite their web applications in new languages or strange APIs.
We need ideas to benefit from distribution or P2P without actually having to re engineer everything we have.
One way to get decentralisation for free is to write a Postgres database server which is a simple text based protocol and distribute the resulting queries to peers P2P
このカテゴリを作成したのは、skihappyが、分散アプリケーションまたはP2Pアプリケーションを構築するためにNPMおよび既存のコードでライブラリを再利用したいという問題を提起したためです。
エイリアンのAPIや仕様に書き直す必要はありません。このカテゴリは、配布またはP2Pする既存のアプリケーションを後付けする方法のアイデアです。
I created this category because skihappy raised the problem that we have where people want to reuse libraries on NPM and existing code to build distributed or P2P applications.
Without having to re write to an alien API or specification. This category is for ideas for how to retrofit existing applications to be distributed or P2P