Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I tried Mastodon early on and it was pretty slow, which I assume is due to it being a Ruby on Rails app that probably wasn't heavily optimized. Probably also partly due to there only being a handful of popular instances so the inrush of users weren't being spread out very much. Anyone still encountering that?

A fairly popular instance also crashed and lost all accounts, toots etc.: https://web.archive.org/web/20180325132625/https://mastodon....



The choice of Ruby for a platform that is supposed to enable decentralization does not make sense.

Most Ruby apps have tens to hundreds of dependencies and require a build environment which immediately limits access to a smaller group of developers familiar with Ruby build environments and debugging their way out of any dependency hell. Customization also becomes a problem.

There is also no particular design in Mastodon itself to enable more transparency and prevent any arbitrary behavior and abuse of power.


Really?

There's official Docker images that I've been running sucesfully for a while, the deployment of Mastodon is really no different from any other self-hosted app these days.


This is even worse. Now you want the average user to know to now only know Ruby but also Docker? These are technologies for technical folks, the kind of troubleshooting required is not trivial.

And just packaging something in Docker does not make the need to understand it go away, what happens when things needs to be configured, when database connections don't work, when things go wrong? You still need to understand the software stack pretty well if you want to run it with any degree of confidence.


> This is even worse. Now you want the average user to know to now only know Ruby but also Docker?

Docker is not a requirement, it's an additional deployment option. Sure, having a static binary might be easier, but with Docker is pretty much equivalent, you get one, static download.

Had Mastodon been written in Go, this would not solve the problem of having to know Go if things go seriously wrong and you need to debug the actual software. Do you need C knowledge to run Linux? No, but it is certainly helpful.

For what it's worth, I've never had to touch anything Ruby-related in my several months of running a Mastodon instance.


Ruby comes by default on most systems and/or package managers. Bundler has basically eliminated dependency hell. Ruby is one of the easiest environments for new hackers. Rails is capable of being fast enough and scaling enough for most applications (early Twitter was Rails) and also has no particular issues in an SoA or distributed system.


Have you ever written a Rails app? Currently working on an enterprise app with about 15 gem dependencies. If I we we're rewrite it in say Go, it would likely require more dependencies.

Rails is performant, but like all languages and frameworks, if you aren't writing good code, it's going to be slow.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: