Ruby

Ruby Concurrency Beyond Fibers: Threads, Ractors, and True Parallelism

A practical guide to Ruby's concurrency primitives beyond fibers, covering Threads, Ractors, and how to achieve true parallel execution in Ruby applications.

From Idea to Launch: Why Rails Remains the Ultimate MVP Framework in 2026

Discover why Ruby on Rails remains the go to framework for building MVPs quickly and efficiently, helping startups validate ideas and reach market faster.

What Is New In Ruby 4.0

Ruby 4.0 celebrates 30 years of Ruby with exciting features including ZJIT compiler, Ruby::Box namespaces, redesigned Ractor API, Set as a core class, and several quality-of-life improvements.

Non‑Blocking IO.select in Ruby: Introduction to Fiber::Scheduler#io_select

Fiber::Scheduler#io_select, a dedicated hook that brings scheduler awareness to IO.select

What Is New In Ruby 3.4

Ruby 3.4 boasts performance boosts, with advancements in the Garbage Collection, YJIT, default parser (Prism), frozen_string_literal, block parameters, and multiple bug fixes.

Ruby 3.4 Throws SyntaxError As Keyword Arguments Are No Longer Allowed In Index.

Passing keyword arguments in index to an array set methods throws SyntaxError.

Ruby 3.4 Throws SyntaxError While Passing Block As Argument In Index.

Passing a block as an argument in index to an array throws SyntaxError in Ruby 3.4 as it is no longer allowed.

Ruby 3.4, Range#size Now Raises TypeError If The Range Is Not Iterable

Range#size raises TypeError if the begin value of Range is a Float or Rational or Beginless.

Ruby 3.4, No More TypeError With **nil As It Is Treated As An Empty Hash.

When double splat ** operator used with nil, it is treated similarly to **{}, which passes no keywords and does not call any conversion methods.

A Quick Guide to Ruby's Time and DateTime Classes

Let's examine when to use the Time class and when to use the DateTime class