3 ms·
As best I can tell the Rama-awesomesauce is down in the backend modules, e.g. https://github.com/redplanetlabs/twitter-scale-mastodon/blob/f86abdb7c86e80bd57ad7
by mdaniel 3y ago
As best I can tell the Rama-awesomesauce is down in the backend modules, e.g. https://github.com/redplanetlabs/twitter-scale-mastodon/blob/f86abdb7c86e80bd57ad7f2be2b63c0431f77e4b/backend/src/main/java/com/rpl/mastodon/modules/Core.java#L350 https://github.com/redplanetlabs/twitter-scale-mastodon/blob...
and the rest of the commentary I'll keep to my damn self
- samspenc 3y agoI'm trying to understand this as well based on the code you linked to and other comments - so the secret sauce of this implementation is the Rama library / framework / database? And that's closed source? Also looks like Rama itself is in beta right now? When will it be stable? Will it remain closed source at that point?
- mdaniel 3y agoNo, sorry for any confusion: since this codebase is designed to be a showcase of how awesome programming in Rama is but it has (as the author claimed) 10k lines, then I would imagine an interested reader would want to know how does one use Rama's API to do Mastodon stuff, and skip past the Spring plumbing bits that are not Rama-ized (AFAIK) Thus, I found some of the .whatever("*awesome") looking code down in the guts of the backend module but since there is no other obvious tour of how the Rama works in this codebase, I thought I would draw the reader's attention to the interesting bits As for your other product related questions, that'd be much better as a top-level comment so nathanmarz can reply to them
- nathanmarz 3y agoThe Spring stuff and Rama stuff is split between the api/ and backend/ folders. The backend/ folder is the more interesting part to look at.
- nathanmarz 3y agoThe best resource for learning about Rama is its documentation: https://redplanetlabs.com/docs/~/index.html https://redplanetlabs.com/docs/~/index.html Our blog post about our Mastodon implementation is a deep dive into how it works, and how the implementation is utilizing Rama to do some really powerful things: https://blog.redplanetlabs.com/2023/08/15/how-we-reduced-the-cost-of-building-twitter-at-twitter-scale-by-100x/ https://blog.redplanetlabs.com/2023/08/15/how-we-reduced-the...