Lemmy is an open-source, federated link aggregator and discussion platform similar to Reddit, Lobste.rs, or Hacker News. The software stack used in Lemmy includes Rust with Actix and Diesel for the backend, and TypeScript with Inferno for the frontend.

The developers chose Rust for its performance, safety, and concurrency features, which help in building a reliable and efficient backend. Actix is a popular Rust web framework that provides a lightweight and fast foundation for the server-side application. Diesel is a Rust ORM (Object-Relational Mapping) and query builder that simplifies database interactions. On the frontend, TypeScript offers better type safety and tooling compared to plain JavaScript, while Inferno is a fast and lightweight React-like library for building user interfaces. These technologies were chosen to create a performant, reliable, and easily deployable platform.

I read someone saying that the lack of contributors was due to the software stack being unconventional and takes people a while to get used to it. So I was curious to know what other people would have used.

  • AureumTempus@lemmy.world
    link
    fedilink
    arrow-up
    2
    ·
    edit-2
    1 year ago

    Interestingly, the only internship I was able to secure was a Rails internship role. This was around October 2022 till Jan 2023. And most of my bad experience also stems from the same.

    I had to use Rails 5 with Coffee script. There was literally no development or test data, all the stuff happened on production. I accidentally nuked the production, became the default rails option to reset development database also affected the production. There was no proper issue tracking system. No proper commit convention. The code was untidy and didn’t make any sense. I didn’t complete the internships and quit midway. And since then, I’ve been jobless.

    I know Rails 7 has improved a lot, but I think I should have started with a micro-framework backend first, instead of touching a batteries-included full-stack framework. Using ExpressJS definitely helped me to understanding parts of the backend, especially middlewares.

    • railsdev@programming.dev
      link
      fedilink
      arrow-up
      3
      arrow-down
      1
      ·
      edit-2
      1 year ago

      I feel your pain. Before landing where I am now I was tasked with bringing a Rails 3.22 (edit: it actually took me about a month before I knew the true version because it was a forked 3.22 with a ton of 4 back ported into the fork) app up to Rails 7.

      There seems to be a lot of bad design decisions in the earlier versions of Rails — for the most part I’m referring to the users of Rails (developers) rather than developers of Rails itself.

      Ruby’s downfall is that unless you’re an experienced developer it’s pretty easy to get by with poor design decisions. I’m literally explaining myself: I’m self-taught but I didn’t start coding professionally until about 4-5 years ago. I run a small business on the side that’s powered by my very own old code without tests, huge models, and cringeworthy blocks of code.

      What I think you’ll find is that it’s mostly senior positions open. A lot of companies wrote something quick back when Rails was the hot new tech, let it go for a decade and then started screaming “help!” at the job market when things started breaking.