<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Joel Drapper</title><description>Joel Drapper’s blog about software.</description><link>https://joel.drapper.me/</link><item><title>Better DOM Morphing with Morphlex</title><link>https://joel.drapper.me/p/morphlex/</link><guid isPermaLink="true">https://joel.drapper.me/p/morphlex/</guid><pubDate>Thu, 06 Nov 2025 00:00:00 GMT</pubDate></item><item><title>The journey to the perfect type signature in Ruby</title><link>https://joel.drapper.me/p/ruby-type-sig/</link><guid isPermaLink="true">https://joel.drapper.me/p/ruby-type-sig/</guid><pubDate>Tue, 21 Oct 2025 00:00:00 GMT</pubDate></item><item><title>Bugs of Omission and Bugs of Commission</title><link>https://joel.drapper.me/p/omission-commission/</link><guid isPermaLink="true">https://joel.drapper.me/p/omission-commission/</guid><pubDate>Mon, 20 Oct 2025 00:00:00 GMT</pubDate></item><item><title>Ruby Central’s “security measures” leave front door wide open</title><link>https://joel.drapper.me/p/ruby-central-security-measures/</link><guid isPermaLink="true">https://joel.drapper.me/p/ruby-central-security-measures/</guid><description>Despite locking maintainers out of </description><pubDate>Tue, 30 Sep 2025 00:00:00 GMT</pubDate></item><item><title>The RubyGems takeover from the perspective of an open source developer</title><link>https://joel.drapper.me/p/ruby-central/</link><guid isPermaLink="true">https://joel.drapper.me/p/ruby-central/</guid><description>We must demand that Ruby Central make this right.</description><pubDate>Tue, 30 Sep 2025 00:00:00 GMT</pubDate></item><item><title>Yippee: Our vision for modern full-stack Ruby framework</title><link>https://joel.drapper.me/p/yippee/</link><guid isPermaLink="true">https://joel.drapper.me/p/yippee/</guid><description>What would it look like to build a new web application framework from a blank sheet of paper today?</description><pubDate>Mon, 29 Sep 2025 00:00:00 GMT</pubDate></item><item><title>Why I’m not signing the “Plan Vert” (DHH) letter</title><link>https://joel.drapper.me/p/plan-vert/</link><guid isPermaLink="true">https://joel.drapper.me/p/plan-vert/</guid><description>DHH has been boiling the frog for years, but a Rails fork isn’t the solution.</description><pubDate>Fri, 26 Sep 2025 00:00:00 GMT</pubDate></item><item><title>Ruby Central Fact Check</title><link>https://joel.drapper.me/p/ruby-central-fact-check/</link><guid isPermaLink="true">https://joel.drapper.me/p/ruby-central-fact-check/</guid><description>Fact-checking the claims made by Ruby Central about the RubyGems takeover.</description><pubDate>Thu, 25 Sep 2025 00:00:00 GMT</pubDate></item><item><title>Shopify, pulling strings at Ruby Central, forces Bundler and RubyGems takeover</title><link>https://joel.drapper.me/p/rubygems-takeover/</link><guid isPermaLink="true">https://joel.drapper.me/p/rubygems-takeover/</guid><description>Ruby Central recently took over a collection of open source projects from their maintainers without their consent.</description><pubDate>Tue, 23 Sep 2025 00:00:00 GMT</pubDate></item><item><title>Ruby LSP indexing enhancements in Literal and Phlex</title><link>https://joel.drapper.me/p/ruby-lsp-indexing-enhancements/</link><guid isPermaLink="true">https://joel.drapper.me/p/ruby-lsp-indexing-enhancements/</guid><pubDate>Wed, 28 May 2025 00:00:00 GMT</pubDate></item><item><title>Borrowing methods</title><link>https://joel.drapper.me/p/borrowing-methods/</link><guid isPermaLink="true">https://joel.drapper.me/p/borrowing-methods/</guid><description>Borrowing UnboundMethods from other classes.</description><pubDate>Tue, 20 May 2025 00:00:00 GMT</pubDate></item><item><title>Objects that lie</title><link>https://joel.drapper.me/p/objects-that-lie/</link><guid isPermaLink="true">https://joel.drapper.me/p/objects-that-lie/</guid><description>In many programming languages — but especially in Ruby — objects can lie. These fibs are usually harmless — even useful — but they can mess things up if you don’t expect them.</description><pubDate>Mon, 19 May 2025 00:00:00 GMT</pubDate></item><item><title>Comparing Ivar and Strict Ivars</title><link>https://joel.drapper.me/p/ivar/</link><guid isPermaLink="true">https://joel.drapper.me/p/ivar/</guid><pubDate>Fri, 09 May 2025 00:00:00 GMT</pubDate></item><item><title>No Exceptions</title><link>https://joel.drapper.me/p/no-exceptions/</link><guid isPermaLink="true">https://joel.drapper.me/p/no-exceptions/</guid><description>There’s no acceptable level of runtime exceptions any of us should be putting up with.</description><pubDate>Tue, 29 Apr 2025 00:00:00 GMT</pubDate></item><item><title>The problem with instance variables in Ruby</title><link>https://joel.drapper.me/p/ivars/</link><guid isPermaLink="true">https://joel.drapper.me/p/ivars/</guid><description>Fixing the most annoying thing about Ruby</description><pubDate>Mon, 28 Apr 2025 00:00:00 GMT</pubDate></item><item><title>The “constraint” type in Literal</title><link>https://joel.drapper.me/p/literal-constraints/</link><guid isPermaLink="true">https://joel.drapper.me/p/literal-constraints/</guid><description>Exploring Literal’s most flexible type.</description><pubDate>Thu, 10 Apr 2025 00:00:00 GMT</pubDate></item><item><title>More typing with less typing, an introduction to Literal</title><link>https://joel.drapper.me/p/more-typing-less-typing/</link><guid isPermaLink="true">https://joel.drapper.me/p/more-typing-less-typing/</guid><description>An introduction to the Literal Ruby gem.</description><pubDate>Wed, 09 Apr 2025 00:00:00 GMT</pubDate></item><item><title>Strings are a leaky abstraction for HTML</title><link>https://joel.drapper.me/p/leaky-strings/</link><guid isPermaLink="true">https://joel.drapper.me/p/leaky-strings/</guid><description>Structural templating in Phlex</description><pubDate>Tue, 08 Apr 2025 00:00:00 GMT</pubDate></item><item><title>LSP-driven API design</title><link>https://joel.drapper.me/p/lsp-driven-design/</link><guid isPermaLink="true">https://joel.drapper.me/p/lsp-driven-design/</guid><description>Embracing the limitations of Ruby LSP in Ruby API design.</description><pubDate>Tue, 08 Apr 2025 00:00:00 GMT</pubDate></item><item><title>Sitting ducks</title><link>https://joel.drapper.me/p/sitting-ducks/</link><guid isPermaLink="true">https://joel.drapper.me/p/sitting-ducks/</guid><pubDate>Mon, 20 Jun 2022 00:00:00 GMT</pubDate></item><item><title>Little Factories</title><link>https://joel.drapper.me/p/little-factories/</link><guid isPermaLink="true">https://joel.drapper.me/p/little-factories/</guid><pubDate>Thu, 05 May 2022 00:00:00 GMT</pubDate></item><item><title>The right abstraction</title><link>https://joel.drapper.me/p/the-right-abstraction/</link><guid isPermaLink="true">https://joel.drapper.me/p/the-right-abstraction/</guid><pubDate>Fri, 11 Mar 2022 00:00:00 GMT</pubDate></item><item><title>Reinventing the wheel</title><link>https://joel.drapper.me/p/reinventing-the-wheel/</link><guid isPermaLink="true">https://joel.drapper.me/p/reinventing-the-wheel/</guid><pubDate>Thu, 10 Mar 2022 00:00:00 GMT</pubDate></item></channel></rss>