truffleruby VS Mastodon

Compare truffleruby vs Mastodon and see what are their differences.

truffleruby

A high performance implementation of the Ruby programming language, built on GraalVM. (by oracle)
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
truffleruby Mastodon
25 1,226
2,963 45,967
0.1% 0.6%
9.9 10.0
4 days ago 3 days ago
Ruby Ruby
GNU General Public License v3.0 or later GNU Affero General Public License v3.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

truffleruby

Posts with mentions or reviews of truffleruby. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-12-26.
  • TruffleRuby 24.0.0
    1 project | news.ycombinator.com | 19 Mar 2024
  • Mir: Strongly typed IR to implement fast and lightweight interpreters and JITs
    4 projects | news.ycombinator.com | 26 Dec 2023
    I think it would be worth mentioning GraalVM and https://github.com/oracle/truffleruby in competitors section.
  • GraalVM for JDK 21 is here
    3 projects | news.ycombinator.com | 19 Sep 2023
    GitHub page has some info: https://github.com/oracle/truffleruby#current-status

    My question is, how viable is TruffleRuby vs JRuby?

  • Making Python 100x faster with less than 100 lines of Rust
    21 projects | news.ycombinator.com | 29 Mar 2023
    I wonder why GraalVM is not more often used for these speed critical cases: https://www.graalvm.org/python/

    Is the problem the Oracle involvement? (Same for ruby https://www.graalvm.org/ruby/)

  • Ruby 3.2’s YJIT is Production-Ready
    8 projects | news.ycombinator.com | 17 Jan 2023
    Looks like it’s still a WIP

    https://github.com/oracle/truffleruby/commits?author=eregon

  • Implement Pattern Matching in TruffleRuby (GSoC)
    1 project | news.ycombinator.com | 15 Aug 2022
  • TruffleRuby – GraalVM Community Edition 22.2.0
    1 project | news.ycombinator.com | 28 Jul 2022
  • Modern programming languages require generics
    3 projects | news.ycombinator.com | 24 May 2022
    this comes at the cost of boxing ints inside Integer, though.

    So, if you ignore for a moment primitives types, whenever you have generics, everything boils down to a single method accepting Objects and returning Objects. What the JVM does is to do runtime profiling of what actually you are passing to the generic method, and generate optimized routines for the "best case". In theory this is the best of the two worlds, because like in general you will have a single implementation of the method (avoiding duplication of the code), but if you use it in an hot spot you get the optimized code.

    In a way, it is quite wasteful, because you throw away a lot of information at compile time, just to get it back (and maybe not all of it) at runtime through profiling, but in practice it works quite well.

    A side effect of this is this makes the JVM a wonderful VM for running dynamic languages like Ruby and Python, because that information is _not_ there at compile time. In particular GraalVM/TruffleVM and exposes this functionality to dynamic language implementations, allowing very good performance (according to they website [1][2], Ruby and Python on TruffleVM are about 8x faster than the official implementation, and JS in line with V8)

    [1] https://www.graalvm.org/ruby/

  • GraalVM 22.1: Developer experience improvements, Apple Silicon builds, and more
    10 projects | news.ycombinator.com | 26 Apr 2022
    I opened a ticket some time ago about performance with Jekyll and liquid templates. At least in that case, yjit was way faster. I'm happy to retest though. Anything that would make my jekyll builds faster would help.

    https://github.com/oracle/truffleruby/issues/2363

  • Ruby YJIT Ported to Rust
    6 projects | news.ycombinator.com | 20 Apr 2022
    Here's a benchmark [1] done in Jan'22 against many ruby implementations, truffleRuby [2] seems to be way ahead in most, and at least ahead in all. Why truffleRuby isn't talk about much here?

    [1] https://eregon.me/blog/2022/01/06/benchmarking-cruby-mjit-yj...

    [2] https://github.com/oracle/truffleruby

Mastodon

Posts with mentions or reviews of Mastodon. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-03-15.
  • Ask HN: What do you think about a subscription based social media?
    1 project | news.ycombinator.com | 27 Apr 2024
    Oh, TIL about https://mastodon.social/ (https://joinmastodon.org/)

    Looks like what you describe, doesn't it?

    > Social networking that's not for sale.

  • Alt Text box can't fit one screenshot of text
    1 project | news.ycombinator.com | 21 Apr 2024
    Interestingly there is some discussion for Mastodon with people asking the limit to be smaller, which raises the question as to the purpose of alt text, and how to properly handle larger text lengths in screen reader programs.

    https://github.com/mastodon/mastodon/issues/12268

  • Open source at Fastly is getting opener
    10 projects | dev.to | 15 Mar 2024
    Through the Fast Forward program, we give free services and support to open source projects and the nonprofits that support them. We support many of the world’s top programming languages (like Python, Rust, Ruby, and the wonderful Scratch), foundational technologies (cURL, the Linux kernel, Kubernetes, OpenStreetMap), and projects that make the internet better and more fun for everyone (Inkscape, Mastodon, Electronic Frontier Foundation, Terms of Service; Didn’t Read).
  • Bluesky announces data federation for self hosters
    7 projects | news.ycombinator.com | 22 Feb 2024
    Mastodon DMs have absolutely no privacy: https://github.com/mastodon/mastodon/issues/18079

    For a decentralized protocol doing things right is much more important than doing things fast, it is very difficult (and in a lot of cases impossible) to break backwards compatibility.

  • External OpenID Connect Account Takeover by Email Change
    1 project | news.ycombinator.com | 15 Feb 2024
  • Ask HN: Best practice for posting links to large Mastodon threads?
    1 project | news.ycombinator.com | 9 Feb 2024
    Postmortem on what happened here: https://news.ycombinator.com/edit?id=39305884

    The v1 API of Mastodon limits the size of the tree that it will expand for users who are not logged into the server: https://github.com/mastodon/mastodon/blob/main/app/controllers/api/v1/statuses_controller.rb . I am guessing that this or some similar limit applies to threads being returned to unauthenticated users of the web UI. It just arbitrarily stops expanding the replies at some point, including the main thread from the OP.

    If a thread is truncated, users expect it to expand automatically and autoscroll when you hit the bottom. In my desktop browser, that does not occur, and there is no indication that there is more to see. This is the situation of the web interface as of Mastodon version 4.2.5.

    The issue is very sensitive to observer conditions. If you are logged into the server, the behavior is different. If you use a Mastodon app instead of the web, the behavior might be different. As the tree expands, the cutoffs become different. If you look at the thread on a different Mastodon server, the tree is different because every server has its own view of the Fediverse.

    HN needs a best practice for linking to Mastodon threads in a way that provides a consistent experience to HN readers. The average Mastodon server would be crushed by hundreds of HN readers grabbing the entirety of a huge thread all at once, so this might involve some thread-unroll-and-cache service. I tried https://mastoreader.io/ but it did not solve the problem.

    Alternately, we push changes into the Mastodon web UI to warn users when they need to click to see more and assume that people will get used to the navigation.

    Suggestions?

  • CVE-2024-23832 Mastodon Vulnerability: Remote user impersonation and takeover
    2 projects | news.ycombinator.com | 1 Feb 2024
    Fixed in Mastodon v4.2.5 https://github.com/mastodon/mastodon/releases/tag/v4.2.5
  • Unity's Open-Source Double Standard: The Ban of VLC
    1 project | news.ycombinator.com | 12 Jan 2024
    >You can defeat the Affero clause by putting the software behind a proxy, for example

    Could someone elaborate on this? This is NOT my understanding of the license, and it seems absurd considering e.g. Mastodon is AGPL but the standard install requires a reverse proxy[1]. If using a proxy defeats Affero, why would the Mastodon team do this? Are they stupid?

    [1] https://github.com/mastodon/mastodon/blob/main/dist/nginx.co...

  • You Can't Follow Me
    7 projects | news.ycombinator.com | 11 Jan 2024
    Mastodon is free and open-source. Go ahead and add the flag:

    https://github.com/mastodon/mastodon/blob/main/CONTRIBUTING....

  • Change Referer value to something generic such as "urn:activitypub:Mastodon"
    1 project | news.ycombinator.com | 10 Jan 2024

What are some alternatives?

When comparing truffleruby and Mastodon you can also consider the following projects:

JRuby - JRuby, an implementation of Ruby on the JVM

diaspora* - A privacy-aware, distributed, open source social network.

artichoke - 💎 Artichoke is a Ruby made with Rust

Misskey - 🌎 An interplanetary microblogging platform 🚀

graalpython - A Python 3 implementation built on GraalVM

Lemmy - 🐀 A link aggregator and forum for the fediverse

ruby-packer - Packing your Ruby application into a single executable.

Friendica - Friendica Communications Platform

graaljs - A ECMAScript 2023 compliant JavaScript implementation built on GraalVM. With polyglot language interoperability support. Running Node.js applications!

GNU social - GNU social is social communication software for both public and private communications.

clj-kondo - Static analyzer and linter for Clojure code that sparks joy

nostr - a truly censorship-resistant alternative to Twitter that has a chance of working