6 ms·
Nope, the source code is linked and it's compact enough that you should be able to learn everything in about an hour. But here is the only documentation I have
by bullen 5y ago
Nope, the source code is linked and it's compact enough that you should be able to learn everything in about an hour.
But here is the only documentation I have written so far:
https://github.com/tinspin/rupy/wiki/Storage https://github.com/tinspin/rupy/wiki/Storage
To see it in action with source:
http://fuse.rupy.se http://fuse.rupy.se (multiplayer system prooven with 350.000 customers and 5 years uptime)
TLDR: It's my own database I made after using MySQL, Postgres, Oracle for 10 years (and building my own ORM with GUI design tool: http://move.rupy.se/file/logic.html http://move.rupy.se/file/logic.html).
It out-scales everything on the planet but it has disk-space issues (that can be fixed with compression 100x but that adds complexity so I'll do it when my SSDs run out of space).
It uses this old goodie for authentication: https://datatracker.ietf.org/doc/html/rfc2289 https://datatracker.ietf.org/doc/html/rfc2289
- ithkuil 5y ago> Nope, the source code is linked and it's compact enough that you should be able to learn everything in about an hour. I don't doubt that somebody who wants to learn this can do that in an hour as you say. But why would I invest one hour of my time to learn something I have no idea what it is !? I skimmed through the readme and wiki and all I see is something vague about how async is good and how stellar the performances are. The world is vast; the flood of information is a serious problem. My piece of advice to you fellow HN member is that the burden is on you to explain why something is interesting. Otherwise people will flock to crappy complex stuff, because unfortunately those are better explained.
- bullen 5y agoI'm not doing this for fame or money, I'm building a 3D MMO platform for eternity, so it's all or nothing: Either all I did in life will disappear or I'm making the next open Minecraft in which case everyone will use it anyway. I'm fine with both outcomes. Notch spent zero time documenting and he obfuscated the binaries, still more people know that reverse engineered source today than any other source to ever exist, maybe forever (unless I succeed)!
- jwhitlark 5y agoHe's not saying you have an obligation to document your code, he's saying if you're going to add it to a discussion, you need to give us a one-sentence description of what it is so we can see how it is relevant and decide if we want to spend an hour getting to know the code. Basically, tell us what the value proposition of your comment is, otherwise it's just a link in a vacuum.
- bullen 5y agoMost people have problems with persistence, it's a though subject until you realize most of the problem is fear caused by responsibility. Most databases (SQL) where designed before the internet, that is a major flaw in them and this instead uses HTTP from the start and JSON in regular files. So it's simpler. But it also has authentication, relational values, indexing and it's async. joint parallel distributed. So it's versatile and powerful without becoming complex and heavy! It allows you to have coherent data at many locations around the world without a big complex monster like described in the article. The only downside is disk space!
- ithkuil 5y agoCan you give a one like description of the technique you use to achieve coherence?
- bullen 5y agoIt's very simple, on every insert/update/delete the node that receives the command calls all the other nodes async. and waits until they have made the call before it makes it and then responds. The id's are secure random longs, so collisions are rare. You can see the code in Root.send(...) or see the live trace by going here and pressing the Make button: http://root.rupy.se/node?make&info http://root.rupy.se/node?make&info
- ithkuil 5y agoSo if one node fails (or the network fails), some nodes will have the new value, while other nodes won't have it. I'm confused about why you call this "coherence".
- victor106 5y agoRupy is awesome. One team within my org uses it and they love it.
- bullen 5y agoI think that might be ruby python no? Naming is not my best skill.
- mdaniel 5y ago> it's compact enough that you should be able to learn everything in about an hour. Yup, I learned everything I need to know about this project in 5 minutes: https://github.com/tinspin/rupy/blob/7d7972932101b0bbe473a4f5460acfd77940bd7d/src/se/rupy/http/Daemon.java#L156 https://github.com/tinspin/rupy/blob/7d7972932101b0bbe473a4f... I hope you're successful in your Minecraft replacement, as I've enjoyed playing with some of the hobby projects it inspired
- bullen 5y ago:D Sometimes I just run out of patience and don't care if something fails, in this case it was copy pasta though.