Ruby
- The Ruby Changes - always updated
- Kevin Newton - YARV internals
- Ruby Internals Glossary
- Eliminating Intermediate Array Allocations
- An Introduction to Ractors in Ruby
- The Ruby Reference - book
- Pry: State navigation
- Pry: Source browsing
- Pry Cheat Sheet
- How To Delegate Methods in Ruby
- Always define
respond_to_missing?
when overridingmethod_missing
- method_missing: A Rubyist’s Beautiful Mistress
- Ruby Mixin Tutorial
- Metaprogramming in Ruby: It’s All About the Self
- The splat * operator in Ruby
- Everything you should know about Ruby Splats
- Do we need constants?
- The Safe Navigation Operator (&.)
- Hidden features of Ruby
- Using “and” and “or” in Ruby
- Replacing Sinatra with Rack in Sidekiq
- Writing a Hypermedia API client in Ruby
- 9 New Features in Ruby 2.4
- Towards Minimal, Idiomatic, and Performant Ruby Code
- What Ruby’s zero? method can teach you about OOP
- When it comes to OOP, the big idea is messaging
- Ruby Runtime Composition
- Symbol GC in Ruby 2.2
- Ruby delegate.rb secrets
- (DHH) Dependency injection is not a virtue
- Ruby’s Bitwise Operators
- Pitfalls of Ruby’s memoization pattern
- Range include? vs cover?
- GitHub: Scaling on Ruby, with a nomadic tech team (2015)
- How is Ruby Different in Japan?
- How to avoid inheritance in Ruby?
- An Introduction to Crystal: Fast as C, Slick as Ruby
- Ruby concurrency: in praise of condition variables
- Disguising Ruby as Javascript
- Accelerating Services by Sparsam, a Blazing Fast Thrift Binding for Ruby
- Singleton Classes in Ruby (aka eigenclasses)
- Fun With Ruby Metaprogramming
- Seeing Metaclasses Clearly
- Ruby Metaprogramming Is Even Cooler Than It Sounds
- Understanding Rack Middleware
- Creating a Rack Middleware for Minifying Your Javascript files
- What’s the difference between to_a and to_ary ?
- I’ll put the “squeeze” on ya. String#squeeze
- When to use freeze and frozen? in Ruby
- %Q, %q, %W, %w, %x, %r, %s
- Developing a RubyGem using Bundler (v1.15)
- How to extend an existing rake task
- Builder design pattern in Ruby
- A look at how Ruby interprets your code
- Five Ruby Methods You Should Be Using
- Six confusing features in Ruby
- Introduction to Concurrency Models with Ruby
- lambda vs proc
- Class Macros
- Why your Ruby class macros (might) suck
- Class.new and .inherited()
- #uniq using blocks
- yield_self in Ruby 2.5
- Embracing Functional Programming in Ruby
- extend self in ruby
- Why Ruby app servers break on macOS High Sierra and what can be done about it
- Ruby pack unpack
- Enough With the Service Objects Already
- How Close is Ruby 3x3 For Production Web Apps?
- Class Methods In Ruby: a Thorough Review & Why I Define Them Using class « self
- Hash Tricks in Ruby
- Ruby 2.5 added yield_self
- 10 More New Features in Ruby v2.5
- Ruby 2 Keyword Arguments
- Hash Tricks in Ruby
- nil?, empty?, blank? in Ruby on Rails - what’s the difference actually?
- Introducing Fir, the Friendly, Interactive Ruby REPL
- What is the difference between tr and gsub?
- Reducing String duplication in Ruby
- Lookahead and Lookbehind Zero-Length Assertions
- The Ruby Module Builder Pattern
- Ruby’s Rack Push: Decoupling the real-time web application from the web
- New Class Naming Rules in Ruby 2.6
- Do we need dependency injection in Ruby?
- Ruby’s New Exception Keyword Arguments
- The desicive moment of the language name Ruby
- Building A Creative & Fun API Client In Ruby: A Builder Pattern Variation
- Railway Oriented programming in Ruby: do notation vs dry-transaction
- Ruby’s New Infinite Range Syntax: (0..)
- Display date ranges in text in Rails
- Ruby 2.6 raises exception when ’else’ is used inside ‘begin..end’ block without ‘rescue’
- Ruby 2.6 adds String#split with block
- Evaluating Scala and sticking with Ruby
- Stop shipping untested Ruby code with undercover
- How to use Bundler in a single-file Ruby script
- Finding where STDOUT/STDERR debug messages are coming from
- I am a puts debuggerer (Aaron Patterson)
- Seeing Metaclasses Clearly
- Destructuring Methods in Ruby
- alias vs alias_method
- Updated to Mojave (Ruby)
- Tips About Arrays and Hashes You Probably Don’t Know
- Ruby: instance_eval
- How to Check If a Variable is Defined in Ruby
- to_s or to_str? Explicitly casting vs. implicitly coercing types
- What’s new in Ruby 2.6?
- Statements and Expressions in Ruby
- Clean Module Injection in Ruby
- Get Rid of That Code Smell – Control Couple
- Good Module, Bad Module (@schneems)
- The simple but powerful Ruby Struct
- Sandi Metz’ Rules For Developers
- Maintaining 65k open connections in a single Ruby process
- Building a Ruby C Extension From Scratch
- Using Lambdas to Simplify Varying Behaviors in Your Code
- Types of Coupling (Thoughtbot)
- Hash Rockets are good actually
- The method JIT compiler for Ruby 2.6
- Ruby 2.7 new feature: Method reference operator
- Ruby 2.6 Oneshot coverage
- Why true and nil have different object_ids in Ruby-1.9 and Ruby-2
- Flonum technique to speedup floating computations on 64bit
- Ruby Memoization and Alternatives
- Don’t subclass Struct classes please
- Struct inheritance is overused
- The Ultimate Guide to Blocks, Procs & Lambdas
- Assignment in Ruby
- A Weird and Wonderful Trip through Ruby’s Standard Library
- My Favourite Parts of the Ruby Standard Library that You Might Not Know About
- Playing with ruby’s new JIT: MJIT (2018)
- Why Ruby doesn’t have a Boolean class (Avdi Grimm)
- Ruby 2.7 — Numbered Parameters
- DateTime is only comparing dates
- Use the presence method
- Delegate to simplify your code
- Sorting arrays and hashes in Ruby
- Convert a Ruby Array into the Keys of a New Hash
- Ruby 2.7 — Pattern Matching — First Impressions
- A gentle introduction to nio4r: low-level portable asynchronous I/O for Ruby
- Pattern matching - New feature in Ruby 2.7
- Visitor pattern in Ruby - Rails Arel
- Method: Kernel#select
- Separation of positional and keyword arguments in Ruby 3.0
- How to Combine Arrays in Ruby
- raise vs throw
- Integer#digits extracts digits
- Ruby convert Array to Integer
- Untangling Ruby Threads
- Objects are for interactions, functions are for data
- Ruby: class_eval vs module_eval
- Bindings and Lexical Scope in Ruby
- Binding and eval() in Ruby 2.7
- The Delegation Challenge of Ruby 2.7 and the “…” operator
- TruffleRuby - NES emulator at 150 fps with the GUI
- Ruby in C - how to specify default argument values?
- Reducing String duplication in Ruby (Sam Saffron)
- Rescue StandardError, Not Exception
- Exploring Ruby’s Regular Expression Algorithm (Pat Shaughnessy)
- Metaprogramming exercise: Ruby method overloading
- Reimplementing Ruby’s Hash
- How the Hash Works in Ruby
- Hash Tables Explained (RubyGuides)
- A silly thing you can do with the Ruby parser
- Be cautious with Ruby coercion methods
- The State of RubyGuidesy 3 Typing
- Mortal and immortal symbols in Ruby
- Ruby 3 Typing
- Tips and tricks in MRI Ruby development
- The Many Uses Of Ruby Case Statements
- Get all but the first element of an array
- Ruby: #clone vs #dup
- Writing a Ractor-based web server
- Better typing in Ruby
- Peter’s Adventures in Ruby: Garbage Collection in Ruby
- How can I make an object callable?
- Ruby Enumerable#tally
- Ruby Symbol to Proc explained, the short version
- Executing and killing ruby parallel/background jobs
- Ruby 3’s killer features need implementation in libraries, and perf will probably be the same as 2.7
- How Fast are Ractors?
- Visitor Pattern in Ruby or just use a Block?
- Multiprocessing in Ruby - a Good Alternative to Threads?
- Debugging an Assertion Error in Ruby
- Testing Child Processes in Ruby
- Rbenv — How it works
- Ruby’s Hidden Gems, StringScanner
- The edge cases of array slicing
- attr_reader cons and pros
- Understanding Ruby Method Lookup
- Singleton method vs. class method in Ruby
- YJIT: Building a New JIT Compiler Inside CRuby
- Module#extend: Understanding Ruby Singleton Classes
- Demystifying Ruby Singleton Classes
- Ruby: Multiline strings – Heredoc or quotes
- Extending Ruby with C++
- Ruby multiline String
- Data class for simple immutable value objects, added in Ruby 3.2
- Enumerator::product
- Why Ruby has Symbols
- Enumerable#filter_map
- An In-Depth Look at Ruby’s Execution Models
- There’s a gem for this or how we got spoiled by the ecosystem
- Ruby extension in Zig
- net/HTTP, httparty, HTTP (The Gem!), HTTPX, Faraday -> HTTP requests
- Generating a Rust Based Gem Skeleton with Bundler
- Writing a Ractor-based web server
- Fantastic global methods in Ruby and where to find them
- Super Standard - Rubocop
- Ruby’s private keyword is weird
- Hanami - a breath of fresh air
- Nested Modules in Ruby
- TIL that ‘!value.nil?’ is a lot faster than ‘value != nil’
- Use Bundler in a Ruby script
- Dependency Injection in Ruby
- Uninstall all gems: ‘gem uninstall -aIx’
- Ruby 3.2’s YJIT is Production-Ready
- Shopify’s experience porting the YJIT Ruby compiler to Rust
- Elegant Memoization with Ruby’s .tap Method
- Ruby’s Switch Statement is More Flexible Than You Thought
- Avoid Putting Logic in Map Blocks
- Composition in Ruby
- Effectively parse CSV with Ruby
- class_eval «-EOM, __FILE__, __LINE__ + 1
- send vs __send__
- Flog-Driven Development
- extend vs include
- Pattern Matching on Ruby Objects
- initialize_clone, initialize_dup, and initialize_copy
- A pragmatic guide to building a Rack application from scratch
- Writing More Expressive Ruby with the it Shorthand