Some Ruby topics that don’t fit into a more specific category. Some of these articles are mine, posted to engineering.appfolio.com from my time as their Ruby fellow.
Ruby Internals:
- How Ruby Encodes References: Tiny Objects Explained
- Ruby and Nested Exceptions - Newer Ruby allows nested exceptions in a useful and powerful way; not everything uses them yet, though
- Using git bisect to Find a Ruby Regression - tracking a bug in the Ruby interpreter? Git’s built-in tooling can help!
Social and Community:
- How is Ruby Different in Japan? - I was surprised at how different usage of Ruby was in Japan, so I wrote about it (thanks to Zach Scott who helped a lot with this!)
- CRuby, MRI, JRuby, RubySpec, Rubinius, YARV - A Little Bit of Ruby Naming - wonder what various names mean in the Ruby community? A bit of a glossary
- A Ruby Troll Story - a short fun story about a troll coming after Sarah Mei, and an older, less-fun story about what trolls have stolen from our community
- Why Do They Say Rails Doesn’t Scale? - a historical perspective for the young'uns; please don’t be the next person to read only the headline and come after me for what you assume every later line says.
- Ruby and Haskell: Culture is What You Don’t Say - a fun compare/contrast between languages after I worked through the Purple Book to understand Monads properly
- RubyConf Malaysia and Getting the Most from a Distant Conference
- Diving Into Japanese for Ruby - for working on the Ruby core language, it can be useful to pick up a little Japanese; here’s how I did
- [Why Ruby Should Stay a Laughingstock] - Ruby takes a big hit on geek credibility to stay useful to businesspeople - it’s worth it for you to know the specifics
- The Ruby Community is a Loud, Bright, Wonderful Mess
Technical:
- Ruby, RubyGems and Bundler - an explanation of these three different layers of Ruby gem handling
- The Programmer’s Secret Weapon for Code Spelunking - find everything without trusting your IDE!
- How Big Should My Gem Be? One Idea Big - a simple (but not easy!) rule for scoping your Ruby gems
- Does ActionCable Smell Like Rails? - an evaluation of the ActionCable API
- What Hooks Does Ruby Have for Metaprogramming? - an overview of what bits the CRuby interpreter lets you hook into
- Multiple Gemfiles, Multiple Ruby Versions, One Rails Version - on managing multiple different Gemfiles and Ruby versions for the same app; can be useful in benchmarking
- Ruby 2.7 and the Compacting Garbage Collector - an explanation of Ruby 2.7+ and some important changes to its garbage collector for (eventual) speedups
- Threads in Ruby - a simple how-to with video
- Web Servers and Application Servers - what are all these things we run to run Rails?
- Timing Attacks are Really Tricky - not really about Ruby, but about just how incredibly difficult it is to fully mitigate timing attacks
War Stories and Debugging Stories:
- A Story of Passion and Hash Tables - two Russian geniuses play Dueling Banjos to get their own Hash implementation into Ruby Core
- Wait! Why is system() Returning the Wrong Answer?
- A Tale of Two Objects Part One: Rake Does WHAT? - written with Mischa Lewis-Norelle
- A Tale of Two Objects Part Two: Ruby’s main Object does WHAT?
- To Sleep, Perchance to Dream - why SleepyGC, a plausible Ruby feature, was no help at all to Rails Ruby Bench