Live data from Hacker News

Rama is a testament to the power of Clojure

blog.redplanetlabs.com

1–10 of 76 posts

Re: Rama is a testament to the power of Clojure

#2
> Rama can build end-to-end backends at any scale on its own in a tiny fraction of the code. At its core is a new programming language implementing a new programming paradigm..

Grand claims, but where are the super powerful demo apps? The getting started docs are a trickle of info..

https://redplanetlabs.com/docs/~/operating-rama.html#_access...

The "demo gallery" has a few cherry picked examples, but I don't see how this fulfills the claim of a "new paradigm". I wanted to be blown.. but this ain't it.

https://github.com/redplanetlabs/rama-demo-gallery

Oof.

Re: Rama is a testament to the power of Clojure

#3
post #2

> Rama can build end-to-end backends at any scale on its own in a tiny fraction of the code. At its core is a new programming language implementing a new programming paradigm.. Grand claims, but where are the super powerful demo apps? The getting started docs are a trickle of info.. https://redplanetlabs.com/docs/~/operating-rama.html#_access... The "demo gallery" has a few cherry picked examples, but I don't see how…

Check out twitter-scale-mastodon, which is an implementation of Mastodon's backend from scratch that scales to Twitter scale. It's more than 40% less code than Mastodon's backend and 100x less code than Twitter wrote to build the equivalent.

https://github.com/redplanetlabs/twitter-scale-mastodon

https://blog.redplanetlabs.com/2023/08/15/how-we-reduced-the...

Re: Rama is a testament to the power of Clojure

#4
Is anyone using Rama at scale? This isn't a complaint about it being closed-source, people have to make their money somehow. But I've seen a lot about Rama's scale when the only things to check the claim are a private beta and a single-process dev build.

I'm super curious to hear from people who have tried it for larger projects!

Re: Rama is a testament to the power of Clojure

#5

Is anyone using Rama at scale? This isn't a complaint about it being closed-source, people have to make their money somehow. But I've seen a lot about Rama's scale when the only things to check the claim are a private beta and a single-process dev build. I'm super curious to hear from people who have tried it for larger projects!

A few of our private beta users are using Rama at larger scale (>1M appends/second). We'll be publishing case studies eventually.

Re: Rama is a testament to the power of Clojure

#6
post #2

> Rama can build end-to-end backends at any scale on its own in a tiny fraction of the code. At its core is a new programming language implementing a new programming paradigm.. Grand claims, but where are the super powerful demo apps? The getting started docs are a trickle of info.. https://redplanetlabs.com/docs/~/operating-rama.html#_access... The "demo gallery" has a few cherry picked examples, but I don't see how…

Check out twitter-scale-mastodon, which is an implementation of Mastodon's backend from scratch that scales to Twitter scale. It's more than 40% less code than Mastodon's backend and 100x less code than Twitter wrote to build the equivalent. https://github.com/redplanetlabs/twitter-scale-mastodon https://blog.redplanetlabs.com/2023/08/15/how-we-reduced-the...

> Running on a real cluster

> Until Rama is publicly available, the only way to get access to the full Rama release is by applying to our private beta.

I thought it was coming out last August? What happened?

(As per your link, https://blog.redplanetlabs.com/2023/08/15/how-we-reduced-the...)

Edit: @nathanmarz that's cool you have enough interest to keep things moving with it being private. I'm only interested in open solutions for this domain, though. IMO, accepting lock-in is a lot to ask. Best wishes ~ MD

Re: Rama is a testament to the power of Clojure

#7
post #6

Earlier quoted context omitted.

Check out twitter-scale-mastodon, which is an implementation of Mastodon's backend from scratch that scales to Twitter scale. It's more than 40% less code than Mastodon's backend and 100x less code than Twitter wrote to build the equivalent. https://github.com/redplanetlabs/twitter-scale-mastodon https://blog.redplanetlabs.com/2023/08/15/how-we-reduced-the...

> Running on a real cluster > Until Rama is publicly available, the only way to get access to the full Rama release is by applying to our private beta. I thought it was coming out last August? What happened? (As per your link, https://blog.redplanetlabs.com/2023/08/15/how-we-reduced-the... ) Edit: @nathanmarz that's cool you have enough interest to keep things moving with it being private. I'm only interested in open…

We released the public build last August, which can be used to experiment with Rama. Details on that are at the link below. Otherwise, we're still in private beta and access to the full Rama release to run real clusters is just for private beta users.

https://redplanetlabs.com/docs/~/downloads-maven-local-dev.h...

Re: Rama is a testament to the power of Clojure

#8
post #2

> Rama can build end-to-end backends at any scale on its own in a tiny fraction of the code. At its core is a new programming language implementing a new programming paradigm.. Grand claims, but where are the super powerful demo apps? The getting started docs are a trickle of info.. https://redplanetlabs.com/docs/~/operating-rama.html#_access... The "demo gallery" has a few cherry picked examples, but I don't see how…

Check out twitter-scale-mastodon, which is an implementation of Mastodon's backend from scratch that scales to Twitter scale. It's more than 40% less code than Mastodon's backend and 100x less code than Twitter wrote to build the equivalent. https://github.com/redplanetlabs/twitter-scale-mastodon https://blog.redplanetlabs.com/2023/08/15/how-we-reduced-the...

> These numbers are a bit better than Twitter’s numbers. Because of how unbalanced the social graph is, getting performance this good and this reliable is not easy. For example, when someone with 20M followers posts a status, that creates a huge burst of load which could delay other statuses from fanning out. How we handled this is described more below.

Huh. I haven't written myself a twitter, but I've always assumed that this problem is solved by a mix of fan-on-write and fan-on-read. Most people are fan-on-write, but those with a follower count > $THRESHOLD are fan-on-read.

The fan-on-read set is small enough to be easily cacheable, so the extra reads required to service a follower's feed are more than compensated for by the fact that the content is in RAM in a cache.

Sounds like RedPanda went exclusively with fan-on-write. I'd be surprised if Twitter does the same - but it sounds like OP has more knowledge about this than me, so I'm happy to be educated!

Re: Rama is a testament to the power of Clojure

#9
post #2

> Rama can build end-to-end backends at any scale on its own in a tiny fraction of the code. At its core is a new programming language implementing a new programming paradigm.. Grand claims, but where are the super powerful demo apps? The getting started docs are a trickle of info.. https://redplanetlabs.com/docs/~/operating-rama.html#_access... The "demo gallery" has a few cherry picked examples, but I don't see how…

Here's an example of the backend code:

https://github.com/redplanetlabs/twitter-scale-mastodon/blob...

It certainly looks like it does a lot with their DSL, but as a newcomer it's really hard to parse.

Re: Rama is a testament to the power of Clojure

#10
post #9
post #2

> Rama can build end-to-end backends at any scale on its own in a tiny fraction of the code. At its core is a new programming language implementing a new programming paradigm.. Grand claims, but where are the super powerful demo apps? The getting started docs are a trickle of info.. https://redplanetlabs.com/docs/~/operating-rama.html#_access... The "demo gallery" has a few cherry picked examples, but I don't see how…

Here's an example of the backend code: https://github.com/redplanetlabs/twitter-scale-mastodon/blob... It certainly looks like it does a lot with their DSL, but as a newcomer it's really hard to parse.

I suggest starting with the tutorial and the heavily commented examples in rama-demo-gallery, linked below.

https://redplanetlabs.com/docs/~/tutorial1.html

https://github.com/redplanetlabs/rama-demo-gallery

Post reply on HN