December 9th, 2020 - working on the Community module
Slow at work these last weeks, I have switched to working on the Community module for GemSuite since :
a) I've totally burned-out over the last three months, and
b) we see too much controlitus all over the intarwebs.
So here's a sneak peak at the way one will handle their data for the GemSuite "forums" : either stays on your computer (sent on demand and nothing stored elsewhere, you would need a hefty connection though), or you set who can keep a copy, and the data is sent by cyber bunnies (hopping from peer to peer).
Some categories will make mandatory use of the distributed backup feature (workgroups, knowledge database), but the general "chatrooms" and the personal stream will be set at one's desire, keep in mind that the distributed backup feature would be super useful in case of a computer crash or something. Just saying.
Most of the underlying work is already done (was done months ago when I was procrastinating over the Modeler and Scanner), I'm working on the interface while the geomapping of all possible attributed IPs (at city level) is running on another of my computers. I already have the country affectations, but having the cities as well will be a big asset : the idea is to retrieve the data from the physically nearest buddy (again, at city level), to reduce latency and load on the network. This will make for an infrastructure that will scale up without the need for a huge server plan on my side (tis $30/year ATM), to avoid having to inject lots of money for bandwidth and storage - the server will merely be the exchange point when connecting, just like BitTorrent trackers, until I find out how on the cyberworld one deals with broadcasting messages without flooding the network. All the rest will be handled using a distributed hash table (DHT) and peer-to-peer communication (including the secure Private Message part). My guess is that once the DHT will be wide enough, all online/offline status communication will be doable without even contacting the server (which would allow the service to run even with the main server down, which is the point).
Actually it takes a lot of prep work to set up a system that will be an equivalent to BitTorrent but for chatting, dedicated to the gemstone/jewelry industry. The µTP protocol from BT is awesome and I'm going to try to implement it with LiveCode - minus the microsecond resolution, can't do that on an interpreted language, hence the need for already computed distances between peers given their IP addresses, namely the latitude and longitude of the center of each city in the world that has internet access. Another great benefit of that protocol is that it does work over the UDP protocol, which is super low on resources at router level, and that can be used to monitor buffer status of your modem - which is how BT works to only use whatever bandwith you're NOT using with high priority tasks using TCP, like phone calls or browsing the web. The idea is to have the distributed backups of the forums you're participating in being done in the background. I'll make a schematic to explain all this once the actual work is done. The pre-version will need the server for temporary storage, since that µtp and DHT bizness will probably be a bit long to implement, but that's my ultimate goal. For now, we do need the service, the security and freedom of expression.
All things considered, contrary to what I had initially planned, the Community module won't be free (small monthly fee, probably $3 like Ned Gorski does for his fireworking.com website/forum), mainly to avoid the Khan dynasty from Af/Pak (aka PM flooders) from bothering us (Yes I have several hundreds of people waiting for a contact answer from me on FB, no I don't have the time to review them right now... sorry for the serious people out there that have chimed in, I'll go through all these requests once I'm done with this new platform). I don't want to ban all the IP addresses from these countries, because there are serious sellers/cutters/jewelers out there. On the other hand, there will be no damn ads and no "fact checkers" or banning or any of that crap. Yes it will include an equivalent of the "scammers" groups because it's a needed feature, but the way I have devised it will certainly help make it easier to use than what we can do on Facebook - huge props to Wayne and Jeffery who consistently maintain that database, I can't wrap my brain at how these gentlemen manage to still have a life while consistently reporting fraud out there.
I'm really way too toast right now to resume working on the raytracer ><' Tell you why in the future. Bear with me!
As always thanks for your support and interest in GemSuite.
Tom, a.k.a. Ludwig Von Sodabowski