<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/feed.atom.xml" media="screen"?>
<feed xml:lang="en-US" xmlns="http://www.w3.org/2005/Atom">
  <id>tag:speakerdeck.com,2005:/eileencodes</id>
  <link rel="alternate" type="text/html" href="https://speakerdeck.com"/>
  <link rel="self" type="application/atom+xml" href="https://speakerdeck.com/eileencodes.atom"/>
  <entry>
    <id>tag:speakerdeck.com,2005:Talk/1253397</id>
    <published>2024-10-01T10:07:24-04:00</published>
    <updated>2024-10-01T10:11:40-04:00</updated>
    <link rel="alternate" type="text/html" href="https://speakerdeck.com/eileencodes/the-myth-of-the-modular-monolith-day-2-keynote-rails-world-2024"/>
    <title>The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024</title>
    <content type="html">As Rails applications grow over time and turn into a so-called “ball of mud”, organizations ask themselves what’s next? Should we stay the course with a monolith or migrate to microservices? At Shopify we went down the path of modularizing our monolith and since then GitHub, Gusto, and others have followed our lead. But after 6 years it’s time to ask ourselves: “Did we fix what we set out to fix? Is this better than before?”

</content>
<media:thumbnail url="https://files.speakerdeck.com/presentations/f925d98cb36648b3b5b4b1247a9fddfb/preview_slide_0.jpg?31972824" width='' height='' xmlns:media='http://search.yahoo.com/mrss/'></media:thumbnail>    <author>
      <name>Eileen M. Uchitelle (@eileencodes)</name>
    </author>
  </entry>
  <entry>
    <id>tag:speakerdeck.com,2005:Talk/1088448</id>
    <published>2023-10-09T11:42:34-04:00</published>
    <updated>2023-10-09T11:47:25-04:00</updated>
    <link rel="alternate" type="text/html" href="https://speakerdeck.com/eileencodes/rails-world-2023-day-1-closing-keynote-the-magic-of-rails"/>
    <title>[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails</title>
    <content type="html">Today we're going to explore the magic of Rails. We'll look at the philosophy behind the framework as well as the overall structure of the components. We'll explore some of the common patterns that Rails uses to build agnostic and beautiful interfaces, and the techniques it implements to hide complexity so you can focus building your application. By the end of this talk you'll feel more confident navigating the Rails codebase and better understand the patterns it uses to create the framework we all know and love. But Rails is so much more than its design and architecture. We'll dive into my motivations for working on the framework and why the community is so important to the long term success of Rails.

</content>
<media:thumbnail url="https://files.speakerdeck.com/presentations/2d52ac45fb2e46218ef26a11ec6076b7/preview_slide_0.jpg?27324033" width='' height='' xmlns:media='http://search.yahoo.com/mrss/'></media:thumbnail>    <author>
      <name>Eileen M. Uchitelle (@eileencodes)</name>
    </author>
  </entry>
  <entry>
    <id>tag:speakerdeck.com,2005:Talk/1058804</id>
    <published>2023-08-01T16:13:32-04:00</published>
    <updated>2023-08-01T16:18:53-04:00</updated>
    <link rel="alternate" type="text/html" href="https://speakerdeck.com/eileencodes/brighton-ruby-2023-the-magic-of-rails"/>
    <title>[Brighton Ruby 2023] The Magic of Rails</title>
    <content type="html">Today we're going to explore the magic of Rails. We'll look at the philosophy behind the framework as well as the overall structure of the components. We'll explore some of the common patterns that Rails uses to build agnostic and beautiful interfaces, and the techniques it implements to hide complexity so you can focus building your application. By the end of this talk you'll feel more confident navigating the Rails codebase and better understand the patterns it uses to create the framework we all know and love. But Rails is so much more than its design and architecture. We'll dive into my motivations for working on the framework and why the community is so important to the long term success of Rails.</content>
<media:thumbnail url="https://files.speakerdeck.com/presentations/337ef3fff5ea4b3eb04aa3d714cf46f0/preview_slide_0.jpg?26573781" width='' height='' xmlns:media='http://search.yahoo.com/mrss/'></media:thumbnail>    <author>
      <name>Eileen M. Uchitelle (@eileencodes)</name>
    </author>
  </entry>
  <entry>
    <id>tag:speakerdeck.com,2005:Talk/1020282</id>
    <published>2023-04-25T09:36:24-04:00</published>
    <updated>2023-04-29T13:58:36-04:00</updated>
    <link rel="alternate" type="text/html" href="https://speakerdeck.com/eileencodes/the-magic-of-rails"/>
    <title>[RailsConf 2023 Opening Keynote] The Magic of Rails</title>
    <content type="html">Today we're going to explore the magic of Rails. We'll look at the philosophy behind the framework as well as the overall structure of the components. We'll explore some of the common patterns that Rails uses to build agnostic and beautiful interfaces, and the techniques it implements to hide complexity so you can focus building your application. By the end of this talk you'll feel more confident navigating the Rails codebase and better understand the patterns it uses to create the framework we all know and love. But Rails is so much more than its design and architecture. We'll dive into my motivations for working on the framework and why the community is so important to the long term success of Rails. </content>
<media:thumbnail url="https://files.speakerdeck.com/presentations/f0a9877d43f14d3184d3fed1dd676188/preview_slide_0.jpg?25370120" width='' height='' xmlns:media='http://search.yahoo.com/mrss/'></media:thumbnail>    <author>
      <name>Eileen M. Uchitelle (@eileencodes)</name>
    </author>
  </entry>
  <entry>
    <id>tag:speakerdeck.com,2005:Talk/962231</id>
    <published>2022-12-04T21:42:54-05:00</published>
    <updated>2022-12-04T21:44:22-05:00</updated>
    <link rel="alternate" type="text/html" href="https://speakerdeck.com/eileencodes/exit-ing-through-the-yjit"/>
    <title>Exit(ing) through the YJIT</title>
    <content type="html">When optimizing code for the YJIT compiler it can be difficult to figure out what code is exiting and why. While working on tracing exits in a Ruby codebase, I found myself wishing we had a tool to reveal the exact line that was causing exits to occur. We set to work on building that functionality into Ruby and now we are able to see every side-exit and why. In this talk we’ll learn about side-exits and how we built a tracer for them. We’ll explore the original implementation, how we rewrote it in Rust, and lastly why it’s so important to always ask "can I make what I built even better?"</content>
<media:thumbnail url="https://files.speakerdeck.com/presentations/ec092c24c29b4060ba75fa1d1ad46bd5/preview_slide_0.jpg?23677112" width='' height='' xmlns:media='http://search.yahoo.com/mrss/'></media:thumbnail>    <author>
      <name>Eileen M. Uchitelle (@eileencodes)</name>
    </author>
  </entry>
  <entry>
    <id>tag:speakerdeck.com,2005:Talk/873061</id>
    <published>2022-05-18T17:24:44-04:00</published>
    <updated>2022-05-24T08:58:46-04:00</updated>
    <link rel="alternate" type="text/html" href="https://speakerdeck.com/eileencodes/the-success-of-rails-ensuring-growth-for-the-next-100-years"/>
    <title>The Success of Rails: Ensuring Growth for the Next 100 Years</title>
    <content type="html">RailsConf 2022 Day 2 Opening Keynote in which I explore the history of Rails, Shopify's role in the evolution of Rails, and the reasons that more companies should be investing in the framework with ongoing contributions.</content>
<media:thumbnail url="https://files.speakerdeck.com/presentations/e4aefdb63a0444e58db76a5b38e5c821/preview_slide_0.jpg?21454635" width='' height='' xmlns:media='http://search.yahoo.com/mrss/'></media:thumbnail>    <author>
      <name>Eileen M. Uchitelle (@eileencodes)</name>
    </author>
  </entry>
  <entry>
    <id>tag:speakerdeck.com,2005:Talk/795128</id>
    <published>2021-11-10T14:51:23-05:00</published>
    <updated>2021-11-10T14:53:41-05:00</updated>
    <link rel="alternate" type="text/html" href="https://speakerdeck.com/eileencodes/improving-cvar-performance-in-ruby-3-dot-1"/>
    <title>Improving CVAR Performance in Ruby 3.1</title>
    <content type="html">Have you ever wondered how class variables (CVARs) in Ruby work? Would you be surprised to learn that their performance becomes increasingly worse as the inheritance chain grows? I’m excited to share that in Ruby 3.1 we fixed the performance of CVARs.

In this talk we'll look at the language design of class variables, learn about how they work, and, deep dive into how we improved their performance in Ruby 3.1 by adding a cache! We'll look at the cache design and real-world benchmarks showing how much faster they are regardless of the size of the inheritance chain.
</content>
<media:thumbnail url="https://files.speakerdeck.com/presentations/41f630079ae645e1be43c48e31d3489b/preview_slide_0.jpg?19513548" width='' height='' xmlns:media='http://search.yahoo.com/mrss/'></media:thumbnail>    <author>
      <name>Eileen M. Uchitelle (@eileencodes)</name>
    </author>
  </entry>
  <entry>
    <id>tag:speakerdeck.com,2005:Talk/683872</id>
    <published>2020-11-19T18:01:27-05:00</published>
    <updated>2020-11-19T18:04:42-05:00</updated>
    <link rel="alternate" type="text/html" href="https://speakerdeck.com/eileencodes/upgrading-github-from-ruby-2-dot-6-to-2-dot-7"/>
    <title>Upgrading GitHub from Ruby 2.6 to 2.7</title>
    <content type="html">It's no secret that the upgrade to Ruby 2.7 is difficult — fixing the keyword argument, URI, and other deprecation warnings can feel overwhelming, tedious, and never ending. We experienced this first-hand at GitHub; we fixed over 11k+ warnings, sent patches to 15+ gems, upgraded 30+ gems, and replaced abandoned gems. In this talk we’ll look at our custom monkey patch for capturing warnings, how we divided work among teams, and the keys to a successful Ruby 2.7 upgrade. We’ll explore why upgrading is important and take a dive into Ruby 2.7’s notable performance improvements.</content>
<media:thumbnail url="https://files.speakerdeck.com/presentations/b69eec081af74ae89294669536694d80/preview_slide_0.jpg?16746394" width='' height='' xmlns:media='http://search.yahoo.com/mrss/'></media:thumbnail>    <author>
      <name>Eileen M. Uchitelle (@eileencodes)</name>
    </author>
  </entry>
  <entry>
    <id>tag:speakerdeck.com,2005:Talk/667822</id>
    <published>2020-09-21T11:19:35-04:00</published>
    <updated>2020-09-21T11:33:34-04:00</updated>
    <link rel="alternate" type="text/html" href="https://speakerdeck.com/eileencodes/technically-a-talk-ruby-day-2020"/>
    <title>Technically, a talk | Ruby Day 2020</title>
    <content type="html">Peer deep into Rails' database handling and you may find the code overly complex, hard to follow, and full of technical debt. On the surface you're right - it is complex, but that complexity represents the strong foundation that keeps your applications simple and focused on your product code. In this talk we'll look at how to use multiple databases, the beauty (and horror) of Rails connection management, and why we built this feature for you.

</content>
<media:thumbnail url="https://files.speakerdeck.com/presentations/91f337dcb34841ac86ad34e2741fa482/preview_slide_0.jpg?16319678" width='' height='' xmlns:media='http://search.yahoo.com/mrss/'></media:thumbnail>    <author>
      <name>Eileen M. Uchitelle (@eileencodes)</name>
    </author>
  </entry>
  <entry>
    <id>tag:speakerdeck.com,2005:Talk/667821</id>
    <published>2020-09-21T11:16:14-04:00</published>
    <updated>2020-09-21T11:27:36-04:00</updated>
    <link rel="alternate" type="text/html" href="https://speakerdeck.com/eileencodes/technically-a-talk-brighton-ruby-2020"/>
    <title>Technically, a talk | Brighton Ruby 2020</title>
    <content type="html">Peer deep into Rails' database handling and you may find the code overly complex, hard to follow, and full of technical debt. On the surface you're right - it is complex, but that complexity represents the strong foundation that keeps your applications simple and focused on your product code. In this talk we'll look at how to use multiple databases, the beauty (and horror) of Rails connection management, and why we built this feature for you.
</content>
<media:thumbnail url="https://files.speakerdeck.com/presentations/b97fb062e2964dc1ae3104d02c5f6e3b/preview_slide_0.jpg?16319526" width='' height='' xmlns:media='http://search.yahoo.com/mrss/'></media:thumbnail>    <author>
      <name>Eileen M. Uchitelle (@eileencodes)</name>
    </author>
  </entry>
  <entry>
    <id>tag:speakerdeck.com,2005:Talk/667819</id>
    <published>2020-09-21T11:12:40-04:00</published>
    <updated>2020-09-21T11:20:34-04:00</updated>
    <link rel="alternate" type="text/html" href="https://speakerdeck.com/eileencodes/technically-a-talk-railsconf-2020"/>
    <title>Technically, a talk | RailsConf 2020</title>
    <content type="html">Peer deep into Rails' database handling and you may find the code overly complex, hard to follow, and full of technical debt. On the surface you're right - it is complex, but that complexity represents the strong foundation that keeps your applications simple and focused on your product code. In this talk we'll look at how to use multiple databases, the beauty (and horror) of Rails connection management, and why we built this feature for you.</content>
<media:thumbnail url="https://files.speakerdeck.com/presentations/7468e39597d948359158afbad0a9e30b/preview_slide_0.jpg?16319369" width='' height='' xmlns:media='http://search.yahoo.com/mrss/'></media:thumbnail>    <author>
      <name>Eileen M. Uchitelle (@eileencodes)</name>
    </author>
  </entry>
  <entry>
    <id>tag:speakerdeck.com,2005:Talk/513666</id>
    <published>2019-04-30T17:42:33-04:00</published>
    <updated>2019-12-16T10:23:42-05:00</updated>
    <link rel="alternate" type="text/html" href="https://speakerdeck.com/eileencodes/railsconf-and-balkan-ruby-2019-the-past-present-and-future-of-rails-at-github"/>
    <title>RailsConf &amp; Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub</title>
    <content type="html">On August 15, 2018 GitHub was deployed to production running Rails 5.2. This was a historic event; for years GitHub had been behind Rails and dependent on a custom fork of Rails 2.3. This talk will visit GitHub's past, including our tumultuous relationship with the Rails framework, and the grueling effort it took to get our application on the latest version. You’ll learn what mistakes to avoid and the reasons why such a difficult upgrade was worth it. We’ll explore what tracking master means for the future and establish that GitHub and Rails are in it together for the long haul.</content>
<media:thumbnail url="https://files.speakerdeck.com/presentations/f8653c8c6ffc4f54bb4683daa8c1a284/preview_slide_0.jpg?12474319" width='' height='' xmlns:media='http://search.yahoo.com/mrss/'></media:thumbnail>    <author>
      <name>Eileen M. Uchitelle (@eileencodes)</name>
    </author>
  </entry>
  <entry>
    <id>tag:speakerdeck.com,2005:Talk/498541</id>
    <published>2019-02-27T01:59:04-05:00</published>
    <updated>2019-02-27T02:14:06-05:00</updated>
    <link rel="alternate" type="text/html" href="https://speakerdeck.com/eileencodes/ruby-on-ice-2019-the-past-present-and-future-of-rails-at-github"/>
    <title>Ruby on Ice 2019: The Past, Present and Future of Rails at GitHub</title>
    <content type="html">On August 15, 2018 GitHub was deployed to production running Rails 5.2. This was a historic event; for years GitHub had been behind Rails and dependent on a custom fork of Rails 2.3. This talk will visit GitHub's past, including our tumultuous relationship with the Rails framework, and the grueling effort it took to get our application on the latest version. You’ll learn what mistakes to avoid and the reasons why such a difficult upgrade was worth it. We’ll explore what tracking master means for the future and establish that GitHub and Rails are in it together for the long haul.

</content>
<media:thumbnail url="https://files.speakerdeck.com/presentations/6ded415964a144d3a277da75094aedb7/preview_slide_0.jpg?11944322" width='' height='' xmlns:media='http://search.yahoo.com/mrss/'></media:thumbnail>    <author>
      <name>Eileen M. Uchitelle (@eileencodes)</name>
    </author>
  </entry>
  <entry>
    <id>tag:speakerdeck.com,2005:Talk/452347</id>
    <published>2018-07-02T09:43:34-04:00</published>
    <updated>2018-07-02T09:53:46-04:00</updated>
    <link rel="alternate" type="text/html" href="https://speakerdeck.com/eileencodes/paris-ruby-conference-2018-the-future-of-rails-6"/>
    <title>Paris Ruby Conference 2018: The Future of Rails 6</title>
    <content type="html">We've all heard the phrase "Rails doesn't scale". Long running test suites and no standard for implementing multiple databases makes it hard scale monolithic Rails applications. Rails 6 will start making Rails scalable by default with parallel testing and improved support for using multiple databases. You'll no longer be forced to reinvent the wheel and create your own solution to these problems. In this talk we'll take a look why these improvements are important, how they work, and ways in which small ideas can quickly snowball into major changes. This is just the beginning of Rails 6.</content>
<media:thumbnail url="https://files.speakerdeck.com/presentations/16c5b92777df4f85aa8dd0fd61a7d598/preview_slide_0.jpg?10335590" width='' height='' xmlns:media='http://search.yahoo.com/mrss/'></media:thumbnail>    <author>
      <name>Eileen M. Uchitelle (@eileencodes)</name>
    </author>
  </entry>
  <entry>
    <id>tag:speakerdeck.com,2005:Talk/446310</id>
    <published>2018-05-29T13:44:28-04:00</published>
    <updated>2018-05-29T14:03:07-04:00</updated>
    <link rel="alternate" type="text/html" href="https://speakerdeck.com/eileencodes/wearedevelopers-2018-the-unbearable-vulnerability-of-open-source"/>
    <title>WeAreDevelopers 2018: The Unbearable Vulnerability of Open Source</title>
    <content type="html">If contributing to open source was only about writing code, it would be easy. In reality open source exposes our insecurities and makes us feel vulnerable. Vulnerability can inspire change, but can also paralyze us for fear of not being good enough. In this talk we'll look at how vulnerability affects open source contributors and explore how maintainers can foster a welcoming community. Contributors will learn how to identify projects with empathetic leaders who value GitHub’s community standards. Cultivating a better environment for contributing makes open source more sustainable for all.</content>
<media:thumbnail url="https://files.speakerdeck.com/presentations/6d9484399eb341348dfb5339ff2d747f/preview_slide_0.jpg?10117629" width='' height='' xmlns:media='http://search.yahoo.com/mrss/'></media:thumbnail>    <author>
      <name>Eileen M. Uchitelle (@eileencodes)</name>
    </author>
  </entry>
  <entry>
    <id>tag:speakerdeck.com,2005:Talk/439946</id>
    <published>2018-04-20T16:29:24-04:00</published>
    <updated>2018-04-20T16:48:08-04:00</updated>
    <link rel="alternate" type="text/html" href="https://speakerdeck.com/eileencodes/railsconf-2018-the-future-of-rails-6-scalable-by-default"/>
    <title>RailsConf 2018 | The Future of Rails 6: Scalable by Default</title>
    <content type="html">We've all heard the phrase "Rails doesn't scale". Long running test suites and no standard for implementing multiple databases makes it hard scale monolithic Rails applications. Rails 6 will start making Rails scalable by default with parallel testing and improved support for using multiple databases. You'll no longer be forced to reinvent the wheel and create your own solution to these problems. In this talk we'll take a look why these improvements are important, how they work, and ways in which small ideas can quickly snowball into major changes. This is just the beginning of Rails 6.</content>
<media:thumbnail url="https://files.speakerdeck.com/presentations/b6053aa78614476ab44a9fc87941cabe/preview_slide_0.jpg?9868728" width='' height='' xmlns:media='http://search.yahoo.com/mrss/'></media:thumbnail>    <author>
      <name>Eileen M. Uchitelle (@eileencodes)</name>
    </author>
  </entry>
  <entry>
    <id>tag:speakerdeck.com,2005:Talk/416903</id>
    <published>2017-11-17T09:59:13-05:00</published>
    <updated>2017-11-17T10:06:17-05:00</updated>
    <link rel="alternate" type="text/html" href="https://speakerdeck.com/eileencodes/rubyconf-2017-the-unbearable-vulnerability-of-open-source"/>
    <title>RubyConf 2017: The Unbearable Vulnerability of Open Source</title>
    <content type="html">If contributing to open source was only about writing code, it would be easy. In reality open source exposes our insecurities and makes us feel vulnerable. Vulnerability can inspire change, but can also paralyze us for fear of not being good enough. In this talk we'll look at how vulnerability affects open source contributors and explore how maintainers can foster a welcoming community. Contributors will learn how to identify projects with empathetic leaders who value GitHub’s community standards. Cultivating a better environment for contributing makes open source more sustainable for all.</content>
<media:thumbnail url="https://files.speakerdeck.com/presentations/790fea20d2374b62a7f198e8a490ca31/preview_slide_0.jpg?8994821" width='' height='' xmlns:media='http://search.yahoo.com/mrss/'></media:thumbnail>    <author>
      <name>Eileen M. Uchitelle (@eileencodes)</name>
    </author>
  </entry>
  <entry>
    <id>tag:speakerdeck.com,2005:Talk/411394</id>
    <published>2017-10-15T13:03:54-04:00</published>
    <updated>2017-10-15T13:16:56-04:00</updated>
    <link rel="alternate" type="text/html" href="https://speakerdeck.com/eileencodes/universe-2017-the-unbearable-vulnerability-of-open-source"/>
    <title>Universe 2017: The Unbearable Vulnerability of Open Source</title>
    <content type="html">If contributing to open source was only about writing code, it would be easy. In reality open source exposes our insecurities and makes us feel vulnerable. Vulnerability can inspire change, but can also paralyze us for fear of not being good enough. In this talk we'll look at how vulnerability affects open source contributors and explore how maintainers can foster a welcoming community. Contributors will learn how to identify projects with empathetic leaders who value GitHub’s community standards. Cultivating a better environment for contributing makes open source more sustainable for all.</content>
<media:thumbnail url="https://files.speakerdeck.com/presentations/82afb49cedaa4f88952979bf143cef08/preview_slide_0.jpg?8754840" width='' height='' xmlns:media='http://search.yahoo.com/mrss/'></media:thumbnail>    <author>
      <name>Eileen M. Uchitelle (@eileencodes)</name>
    </author>
  </entry>
  <title>Eileen M. Uchitelle (@eileencodes) on Speaker Deck</title>
  <updated>2024-10-01T10:07:24-04:00</updated>
</feed>
