On programming and poetry (not Python’s tool)

“Gilded Rose” refactoring kata in Ruby — as if it is 2024

The evolution of Ruby's Range class

Vignettes on language evolution: discovering an old syntax feature history

The design decisions and evolution of a method definition - Ruby case study

ChatGPT have killed my passion project and I am fine

The making of Ruby Changes: A boring advent

"Useless Ruby sugar": Endless (one-line) methods

"Useless Ruby sugar": Argument forwarding

Language, perception, and empathy: Ukrainian's gaze (Notes to the talk rejected by RubyConf)

“Useless Ruby sugar”: Keyword argument and hash values omission

"Useless Ruby sugar": Pattern matching (Pt. 2)

Useless Ruby sugar: Pattern matching

Numbered block parameters in Ruby

A few words on Ruby's type annotations state

Participating in programming language's evolution during interesting times

It is not what you expect, but it is what you want: how Data#initialize is designed

What not to forget when implementing a pattern-matching in Ruby for custom objects

Please stop calling it “magic”

Grok {Shan, Shui}*: Advent of understanding the generative art

Kharkiv Rubyist during the war: We are still here

Appeal to Ruby Community from Kharkiv Rubyist

I tried to invent a new query language feature and failed