jfawcett
4 hours ago
This is another accidental discovery, but it seems to me like something profound that just feels right.
Consider this. We are now in a world where we can think of the network itself as the computer, leveraging the power of the various machines across the network in the same way a programmer would leverage cores, and using shared network RAM in the same way a programmer would use RAM on a local machine. That is FrogNet.
The living network as a computing substrate for a global computer, and I mean it. I can demonstrate it.
In FrogNet, I inverted and just plain rejected many of the tenets of modern network discovery, management, and use. The network forms as members come on-line. It splits and merges seamlessly, and presents a stable, portable substrate for the implementation of what I can only call network-level RAM. Seriously.
To use it, you don't make REST calls. Well, actually, you do, but it's a single API that talks to the network RAM layer in much the same manner as a program accesses memory on a physical computer (put, get), and it works. It may not operate at blazing speeds, but it can span the entire world.
To prove it, I built a network monitor that discovers and reports on new machines without ever contacting a remote server, except the RAM. That was pretty cool, so I went for the brass ring and built a video phone that went from NYC to Seattle at 720p, using TCP. I was able to drop the bandwidth on that all the way down below 150Kbps and back up, adjusting the resolution and frame rate as it went, automatically, and without dropping.
I know this sounds like another wild marketing claim, but it's not. Clone the repo, check the code, and tell me I'm on crack if you want, but having the ability to access shared RAM without writing any special servers or coordination systems really does change how I write distributed code, and in a good way. No unnecessary coordination. No bloated messaging. Just programming.