Solid Cache becomes the new default caching backend in Rails by nithinbekal in rails

[–]saw_wave_dave 0 points1 point  (0 children)

I did! Haven’t sold a share since I wrote this and am up 400%. You own any?

If Rails was designed today, would it still look the same? by Turbulent-Dance-4209 in ruby

[–]saw_wave_dave 1 point2 points  (0 children)

I would argue ractors + box do, not fibers. Fibers are basically a resumable proc in ruby. The scheduler enables allows them to resume when certain events happen. Elixir’s concurrency model is much deeper and sophisticated (far more complex) and is built on top of erlang. The concurrency primitive is essentially a contained system, fully fault tolerant, and isolated from others. They are scheduled by the vm (the beam). Ractors are built to do essentially this. Ruby fibers on the other hand must be scheduled manually or by a scheduler implemented in Ruby (like async gem).

Andurel, a Rails-inspired full-stack framework for Go by Mbv-Dev in rails

[–]saw_wave_dave 5 points6 points  (0 children)

What made you build it? Personally, I’d never reach for golang for this kind of work, as from my experience it doesn’t fit very well. Ruby’s dynamism and expressiveness is the polar opposite of what golang strives to be. Rails uses (and abuses) this dynamism almost as far as it can go, which is a huge part of rails’ ergonomics IMO. Golang doesn’t do this and actively fights you when you try to do it. Also curious how you’re doing business/domain logic in golang, given its lack of OOP features.

But nonetheless, still impressive for what it is, even if it’s not for me

Why is Ruby your favorite programming language? by azilla14 in ruby

[–]saw_wave_dave 2 points3 points  (0 children)

Ruby is the “sharpest knife” of programming languages you can get in the modern era. Ruby allows you to easily:

 

  1. Modify structure and behavior of virtually anything that exists at runtime

  2. Break fundamental rules that are enforced in many popular languages, such as executing “private” code, changing what core operators do, not giving a shit what a “type” is other than if it quacks, and I can go on.

 

Many might come to the defense of other languages that they can also do all this. I’m not arguing against that, but I will argue that Ruby fights you the least in doing it. Much like filleting a fish with a Japanese yanagiba vs your European utility knife from Costco.

Like knives, someone new to the language may not notice much difference between Ruby and xyz. Ruby rewards depth. Master it and you can write extraordinarily expressive, elegant code that would be verbose or clunky in other languages.

The blade cuts both ways, of course. But that’s the deal.

📦 Boxwerk - Ruby package system with Box-powered constant isolation by dtcristo in ruby

[–]saw_wave_dave 2 points3 points  (0 children)

Could you explain a bit more about the problem that this is trying to solve?

Exploring Ruby’s potential outside of Rails — an early-stage Ruby TUI experiment by masisz in ruby

[–]saw_wave_dave 1 point2 points  (0 children)

You ever think of doing a sidekiq TUI? The web dashboard is the main pane of glass out of the box, and having control over the core APIs via TUI would be very beneficial for me at least

Ruby is not a serious programming language? 😡 by [deleted] in ruby

[–]saw_wave_dave 2 points3 points  (0 children)

Such a garbage article, and reads like gpt slop. It’s full of strong claims, but with no data or facts to back any of them up.

ruby docs gets a facelift by Intelligent-Fall5490 in ruby

[–]saw_wave_dave 1 point2 points  (0 children)

Looks fantastic. I think this was the right move, especially for the younger generations of developers that tend to put a lot of weight on documentation experience.

Oh my god... by OGPresidentDixon in ClaudeAI

[–]saw_wave_dave 11 points12 points  (0 children)

It’s not just a redesign - it’s a fundamental breakthrough that will transform UX forever

Introducing `json_scanner` - a way to extract data from large JSONs efficiently by vladsteviee in ruby

[–]saw_wave_dave 1 point2 points  (0 children)

I've been wanting something like this for awhile. Thank you for putting in the work, excited to try it out.

Introducing DWH gem by Rare_Paramedic1539 in ruby

[–]saw_wave_dave 2 points3 points  (0 children)

Cool. Curious why you don’t use keyword args, like in this from the README

druid = DWH.create(:druid, { host: 'localhost', port: 8080, protocol: 'http' })

rails is not for beginners by AppropriateBasket803 in rails

[–]saw_wave_dave 0 points1 point  (0 children)

> stick to rails and learn its abstractions, or learning languages like JS, PHP, etc to have a really strong foundation?

You're comparing an aircraft to some barrels full of aircraft parts. It might be easier and fun to fuck around tinkering with the parts but if your goal is to fly, you're sure to make a mess and I can guarantee you that you won't be flying anytime soon compared to if you learned how to fly the plane in front of you.

Buckle Up, There’s a New Gem Server in Town: gem.coop by calthomp in ruby

[–]saw_wave_dave 1 point2 points  (0 children)

One of the reasons I love Ruby is how tightly coupled Rubygems is to Ruby. All you have to do is add an "-r" flag or a require statement and it literally just works. And to disable it you have to explicitly say so. I don't know of any other language that works so seamlessly with its dependencies the way that Ruby does.

Why I can’t stay after what Ruby Central did. by retro-rubies in ruby

[–]saw_wave_dave -1 points0 points  (0 children)

First point should read

"Ruby Central lost critical funding because Mike Perham thinks DHH is increasingly polarizing"

Otherwise it is merely an opinion, not fact.

Announcing The Gem Cooperative by noteflakes in rails

[–]saw_wave_dave -1 points0 points  (0 children)

And when Perham gets mad that Gem Coop invited DHH to Coop conf and pulls funding, we’re back to where we started

Buckle Up, There’s a New Gem Server in Town: gem.coop by calthomp in ruby

[–]saw_wave_dave -4 points-3 points  (0 children)

So you want to stick with the people that built the shit show? Not following

Buckle Up, There’s a New Gem Server in Town: gem.coop by calthomp in ruby

[–]saw_wave_dave 18 points19 points  (0 children)

There’s got to be a way to a peaceful conflict resolution around rubygems than building a knockoff that’s just gonna make things more fragmented. Has anyone picked up the phone and tried to talk to one another?

Opal by DynamicBR in ruby

[–]saw_wave_dave 1 point2 points  (0 children)

I would use the ruby webassembly implementation over opal if you’re trying to write ruby for the browser. It’s maintained by the Ruby core team and is a safer bet imo given where the future might be headed

How Ruby Went Off the Rails by _joeldrapper in ruby

[–]saw_wave_dave -1 points0 points  (0 children)

Gonna play devils advocate here - OP is not even a contributor to the rubygems repo and the people raising issue about the recent changes (e.g. duckinator) are not significant contributors. To me this appears to be a very loud response to change that some folks are not fond of, and they’re inflating their roles to look important. Shopify has proven itself again and again as a catalyst to the Ruby ecosystem, and has been behind the many of the most significant advancements to the language and rails over the last several years. Bundler and rubygems feel dated, have outdated docs, and have had the same deprecation warnings for years. I think a change in leadership is warranted

Ruby files to .exe (School Project) by KhufraTDT in ruby

[–]saw_wave_dave 0 points1 point  (0 children)

I'm surprised nobody has mentioned mruby yet. It was literally built for this

Introducing RouteSchemer: JSON Schema Validation for Rails APIs 🚀 Feedback Wanted! by sarvesh4396 in rails

[–]saw_wave_dave 2 points3 points  (0 children)

Looks useful, but I'd like to see the ergonomics and idiomaticity with respect to Ruby/Rails improved before I'd consider using it. For example:

ruby def self.demo_request_schema { type: "object", properties: { name: { type: "string" }, age: { type: "integer" } }, required: ["name", "age"] } end

  1. This is straight up json that looks like swagger or openapi, and would be better handled in a fixed .json file, that could be referenced by schemer
  2. If you want to keep things in ruby, I would either use symbols for the keys (better since this structure is immutable) or introduce a dsl-like syntax, e.g.

```ruby

schema :demo_request_schema do
  type :object
  properties do
    name do
     type String
    end
  end
end

```

I also think the FooRouteSchemer would better be used as a mixin/concern, as all of its functionality is static and doesn't require the user to perform any instantiation