{"version":"1.0","type":"rich","provider_name":"Acast","provider_url":"https://acast.com","height":250,"width":700,"html":"<iframe src=\"https://embed.acast.com/$/65de32896569fa0017d17653/69975f2f4a6b6137bf9b7a29?\" frameBorder=\"0\" width=\"700\" height=\"250\"></iframe>","title":"Indistinguishable From Evil (with Russ Olsen)","description":"<p>Jared interviews veteran programmer and author Russ Olsen about updating <em>Eloquent Ruby</em> for the last 15-ish years of Ruby evolution, from how he discovered Ruby while trying to teach his young son to code (anything but Java) to how Rails suddenly made Ruby mainstream and pushed him into writing. They unpack what “eloquent” Ruby means: solving problems with minimal fuss, staying concise but clear, and treating code as both a working machine and readable literature, plus why the book is structured from tiny examples up to larger systems to help experienced programmers learn Ruby fluently. Russ discusses newer language features like keyword arguments and pattern matching (fun, but not widely used yet), argues for a more tempered, cost-benefit approach to metaprogramming, and shares skepticism about optional static typing in Ruby (RBS/Sorbet) except at key boundaries in very large codebases. The episode closes on Russ’s “Technology as if People Mattered” philosophy and how Ruby’s community culture, often credited to Matz, reflects that human-centered mindset.</p><p><br></p><p><strong>Links:</strong></p><p><br></p><p><a href=\"https://pragprog.com/titles/eruby2/eloquent-ruby-second-edition/\" rel=\"noopener noreferrer\" target=\"_blank\">Eloquent Ruby, Second Edition (beta/book page)</a></p><p><a href=\"https://pragprog.com/categories/beta/\" rel=\"noopener noreferrer\" target=\"_blank\">Pragmatic Bookshelf beta catalog</a></p><p><a href=\"https://russolsen.com/\" rel=\"noopener noreferrer\" target=\"_blank\">Russ Olsen’s blog: “Technology As If People Mattered”</a></p><p><a href=\"https://russolsen.com/about.html\" rel=\"noopener noreferrer\" target=\"_blank\">Russ Olsen (about page)</a></p><p><a href=\"https://books.google.com/books/about/Overdrive.html?id=HHzH0QEACAAJ\" rel=\"noopener noreferrer\" target=\"_blank\">Overdrive by Russ Olsen</a></p><p><a href=\"https://github.com/ruby/rbs\" rel=\"noopener noreferrer\" target=\"_blank\">RBS (Ruby type signatures) on GitHub</a></p><p><a href=\"https://sorbet.org/\" rel=\"noopener noreferrer\" target=\"_blank\">Sorbet (Ruby type checker) docs</a></p><p><a href=\"https://ruby-doc.org/3.2/syntax/pattern_matching_rdoc.html\" rel=\"noopener noreferrer\" target=\"_blank\">Ruby pattern matching documentation</a></p><p><a href=\"https://docs.oracle.com/en/graalvm/enterprise/22/docs/reference-manual/ruby/\" rel=\"noopener noreferrer\" target=\"_blank\">TruffleRuby documentation (GraalVM Ruby)</a></p><p><a href=\"https://ruby-doc.org/3.4.1/Regexp.html\" rel=\"noopener noreferrer\" target=\"_blank\">Ruby Regexp documentation</a></p><p><a href=\"https://shows.acast.com/dead-code/episodes/pickaxe-resurrection-with-noel-rappin\" rel=\"noopener noreferrer\" target=\"_blank\">Dead Code Episode: “Pickaxe Resurrection (with Noel Rappin)”</a></p><p><br></p><p><strong>Dead Code Podcast Links:</strong></p><p><br></p><p><a href=\"https://hachyderm.io/@deadcode\" rel=\"noopener noreferrer\" target=\"_blank\">Mastodon</a></p><p><a href=\"https://twitter.com/DeadCodePod\" rel=\"noopener noreferrer\" target=\"_blank\">X</a></p><p><br></p><p><strong>Jared’s Links:</strong></p><p><br></p><p><a href=\"https://supergood.social/@jared\" rel=\"noopener noreferrer\" target=\"_blank\">Mastodon</a></p><p><a href=\"https://twitter.com/jardonamron\" rel=\"noopener noreferrer\" target=\"_blank\">X</a></p><p><a href=\"https://www.twitch.tv/jardonamron\" rel=\"noopener noreferrer\" target=\"_blank\">twitch.tv/jardonamron</a></p><p><a href=\"https://jardo.dev\" rel=\"noopener noreferrer\" target=\"_blank\">Jared’s Newsletter &amp; Website</a></p><p><br></p><p><a href=\"https://docs.google.com/document/d/1V4QDbyFkpkg4QnqFOPVT1kh7Nb8JqWGZXxo--5hGQ30/edit?tab=t.0\" rel=\"noopener noreferrer\" target=\"_blank\">Episode Transcript</a></p>","author_name":"Jared Norman"}