A decent VS Code and Ruby on Rails setup

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • rbs

    Type Signature for Ruby

  • I saw no mention of RBS+Steep, the latter providing a LSP. I use it a lot and very much like it, although it's still young and needs love, but it's making good, steady progress! I've been very pleasantly surprised by some of the crazy things Steep can catch, completely statically!

    You appear to be working on projects with Sorbet (which I tried to like but found it fell short in practice, notably outside of the app use case i.e it's mostly useless for gems) so it may be a tall order to try on those. Maybe you can give RBS+Steep a shot on some small project?

    RBS: https://github.com/ruby/rbs

    RBS collection (for those gems that don't ship RBS signatures in `sig`, integrates with bundler): https://github.com/ruby/gem_rbs_collection

    Steep: https://github.com/soutaro/steep

    VS Code: https://github.com/soutaro/steep-vscode

    Sublime Text: https://github.com/sublimelsp/LSP

    Vim (I'm working on it): https://github.com/dense-analysis/ale/pull/4671

  • gem_rbs_collection

    A collection of RBS for gems.

  • I saw no mention of RBS+Steep, the latter providing a LSP. I use it a lot and very much like it, although it's still young and needs love, but it's making good, steady progress! I've been very pleasantly surprised by some of the crazy things Steep can catch, completely statically!

    You appear to be working on projects with Sorbet (which I tried to like but found it fell short in practice, notably outside of the app use case i.e it's mostly useless for gems) so it may be a tall order to try on those. Maybe you can give RBS+Steep a shot on some small project?

    RBS: https://github.com/ruby/rbs

    RBS collection (for those gems that don't ship RBS signatures in `sig`, integrates with bundler): https://github.com/ruby/gem_rbs_collection

    Steep: https://github.com/soutaro/steep

    VS Code: https://github.com/soutaro/steep-vscode

    Sublime Text: https://github.com/sublimelsp/LSP

    Vim (I'm working on it): https://github.com/dense-analysis/ale/pull/4671

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • steep

    Static type checker for Ruby

  • I saw no mention of RBS+Steep, the latter providing a LSP. I use it a lot and very much like it, although it's still young and needs love, but it's making good, steady progress! I've been very pleasantly surprised by some of the crazy things Steep can catch, completely statically!

    You appear to be working on projects with Sorbet (which I tried to like but found it fell short in practice, notably outside of the app use case i.e it's mostly useless for gems) so it may be a tall order to try on those. Maybe you can give RBS+Steep a shot on some small project?

    RBS: https://github.com/ruby/rbs

    RBS collection (for those gems that don't ship RBS signatures in `sig`, integrates with bundler): https://github.com/ruby/gem_rbs_collection

    Steep: https://github.com/soutaro/steep

    VS Code: https://github.com/soutaro/steep-vscode

    Sublime Text: https://github.com/sublimelsp/LSP

    Vim (I'm working on it): https://github.com/dense-analysis/ale/pull/4671

  • steep-vscode

    VSCode extension for Steep

  • I saw no mention of RBS+Steep, the latter providing a LSP. I use it a lot and very much like it, although it's still young and needs love, but it's making good, steady progress! I've been very pleasantly surprised by some of the crazy things Steep can catch, completely statically!

    You appear to be working on projects with Sorbet (which I tried to like but found it fell short in practice, notably outside of the app use case i.e it's mostly useless for gems) so it may be a tall order to try on those. Maybe you can give RBS+Steep a shot on some small project?

    RBS: https://github.com/ruby/rbs

    RBS collection (for those gems that don't ship RBS signatures in `sig`, integrates with bundler): https://github.com/ruby/gem_rbs_collection

    Steep: https://github.com/soutaro/steep

    VS Code: https://github.com/soutaro/steep-vscode

    Sublime Text: https://github.com/sublimelsp/LSP

    Vim (I'm working on it): https://github.com/dense-analysis/ale/pull/4671

  • LSP

    Client implementation of the Language Server Protocol for Sublime Text

  • I saw no mention of RBS+Steep, the latter providing a LSP. I use it a lot and very much like it, although it's still young and needs love, but it's making good, steady progress! I've been very pleasantly surprised by some of the crazy things Steep can catch, completely statically!

    You appear to be working on projects with Sorbet (which I tried to like but found it fell short in practice, notably outside of the app use case i.e it's mostly useless for gems) so it may be a tall order to try on those. Maybe you can give RBS+Steep a shot on some small project?

    RBS: https://github.com/ruby/rbs

    RBS collection (for those gems that don't ship RBS signatures in `sig`, integrates with bundler): https://github.com/ruby/gem_rbs_collection

    Steep: https://github.com/soutaro/steep

    VS Code: https://github.com/soutaro/steep-vscode

    Sublime Text: https://github.com/sublimelsp/LSP

    Vim (I'm working on it): https://github.com/dense-analysis/ale/pull/4671

  • ale

    Check syntax in Vim/Neovim asynchronously and fix files, with Language Server Protocol (LSP) support

  • I saw no mention of RBS+Steep, the latter providing a LSP. I use it a lot and very much like it, although it's still young and needs love, but it's making good, steady progress! I've been very pleasantly surprised by some of the crazy things Steep can catch, completely statically!

    You appear to be working on projects with Sorbet (which I tried to like but found it fell short in practice, notably outside of the app use case i.e it's mostly useless for gems) so it may be a tall order to try on those. Maybe you can give RBS+Steep a shot on some small project?

    RBS: https://github.com/ruby/rbs

    RBS collection (for those gems that don't ship RBS signatures in `sig`, integrates with bundler): https://github.com/ruby/gem_rbs_collection

    Steep: https://github.com/soutaro/steep

    VS Code: https://github.com/soutaro/steep-vscode

    Sublime Text: https://github.com/sublimelsp/LSP

    Vim (I'm working on it): https://github.com/dense-analysis/ale/pull/4671

  • Visual Studio Code

    Visual Studio Code

  • I would not say I love it, but it is free, and does what is needed out of the box.

    The real selling point is the plugins, notably the Remote Development extension. This lets you locally run the IDE while the code runs/lives on a remote (SSH/Docker) host which could be beefier or specific hardware. Complete game changer that I now find impossible to do without.

    If you want, I could give a list of inexcusable grievances that are maintained to this day. My favorite would be this: https://github.com/microsoft/vscode/issues/40233 . From the outside, would only take a handful of lines to read two configuration files instead of one.

  • 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.

    InfluxDB logo
  • FrameworkBenchmarks

    Source for the TechEmpower Framework Benchmarks project

  • Ruby is slow. Very slow. How much you may ask? https://www.techempower.com/benchmarks/#hw=ph&test=fortune&s... fastest Ruby entry is at 272th place. Sure, top entries tend to have questionable benchmark-golfing implementations, but it gives you a good primer on the overhead imposed by Ruby.

    It is also not early 00s anymore, when you pick an interpreted language, you are not getting "better productivity and tooling". In fact, most interpreted languages lag behind other major languages significantly in the form of JS/TS, Python and Ruby suffering from different woes when it comes to package management and publishing. I would say only TS/JS manages to stand apart with being tolerable, and Python sometimes too by a virtue of its popularity and the amount of information out there whenever you need to troubleshoot.

    If you liked Go but felt it being a too verbose to your liking, give .NET a try. I am advocating for it here on HN mostly for fun but it is, in fact, highly underappreciated, considered unsexy and boring while it's anything but after a complete change of trajectory in the last 3-5 years. It is actually the* stack people secretly want but simply don't know about because it is bundled together with Java in the public perception.

    *productive CLI tooling, high performance, works well in a really wide range of workloads from low to high level, by far the best ORM across all languages and back-end framework that is easier to work with than Node.JS while consuming 0.1x resources

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts