<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom"
  xmlns:dc="http://purl.org/dc/elements/1.1/">
  <author>
    <name>Brooke Kuhlmann</name>
    <uri>https://alchemists.io/team/brooke_kuhlmann</uri>
  </author>
  <category term="talks"
    label="Talks"/>
  <generator uri="https://alchemists.io"
    version="0.3.0">Alchemists</generator>
  <icon>https://alchemists.io/favicon.ico</icon>
  <id>https://alchemists.io/talks</id>
  <link href="https://alchemists.io/talks"
    rel="alternate"
    type="text/html"
    title="Alchemists: Talks (web)"/>
  <link href="https://alchemists.io/feeds/talks.xml"
    rel="self"
    type="application/atom+xml"
    title="Alchemists: Talks (feed)"/>
  <logo>https://alchemists.io/images/logo/syndication.png</logo>
  <rights>2026</rights>
  <subtitle>Talks on software engineering design, patterns, techniques, learnings, and more.</subtitle>
  <title>Alchemists: Talks</title>
  <updated>2026-08-23T16:05:28+00:00</updated>
  <entry>
    <author>
      <name>Brooke Kuhlmann</name>
      <uri>https://alchemists.io/team/brooke_kuhlmann</uri>
    </author>
    <category term="talks"
      label="Talks"/>
    <content type="html">&lt;p align=&quot;center&quot;&gt;
  &lt;a href=&quot;/talks/htmx_view_transitions&quot;&gt;
    &lt;img src=&quot;/images/talks/htmx_view_transitions/cover-original.png&quot;&gt;
  &lt;/a&gt;
&lt;/p&gt;

&lt;h2&gt;Summary&lt;/h2&gt;
&lt;p&gt;Learn about the power of CSS View Transitions using only HTML and CSS with a tiny amount of JavaScript to tie everything together while Ruby is used to render all slides in real-time both via the web UI and on ePaper devices. You&#39;ll learn the technical details of how all this works while gaining new knowledge to apply to your own tech stack!&lt;/p&gt;

&lt;h2&gt;Details&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;b&gt;Ratio&lt;/b&gt;: 16:9&lt;/li&gt;
  &lt;li&gt;&lt;b&gt;Slides&lt;/b&gt;: 60&lt;/li&gt;
&lt;/ul&gt;
</content>
    <id>https://alchemists.io/talks/htmx_view_transitions</id>
    <link href="https://alchemists.io/talks/htmx_view_transitions"/>
    <published>2026-07-24T16:13:09+00:00</published>
    <rights>2026</rights>
    <title>htmx View Transitions Talk</title>
    <updated>2026-08-23T16:05:28+00:00</updated>
    <dc:date>2026-08-23T16:05:28+00:00</dc:date>
  </entry>
  <entry>
    <author>
      <name>Brooke Kuhlmann</name>
      <uri>https://alchemists.io/team/brooke_kuhlmann</uri>
    </author>
    <category term="talks"
      label="Talks"/>
    <content type="html">&lt;p align=&quot;center&quot;&gt;
  &lt;a href=&quot;/talks/terminus&quot;&gt;
    &lt;img src=&quot;/images/talks/terminus/cover-original.png&quot;&gt;
  &lt;/a&gt;
&lt;/p&gt;

&lt;h2&gt;Summary&lt;/h2&gt;
&lt;p&gt;Terminus provides a self-hosted, private, secure, and open source implementation for owning your data and network of connected ePaper devices. In this talk, you&#39;ll learn how Terminus is built atop Ruby, Hanami, and htmx for a clean and robust architecture. If you love the idea of rendering your own content on your own ePaper devices, then you&#39;ll enjoy Terminus!&lt;/p&gt;

&lt;h2&gt;Details&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;b&gt;Ratio&lt;/b&gt;: 16:9&lt;/li&gt;
  &lt;li&gt;&lt;b&gt;Slides&lt;/b&gt;: 123&lt;/li&gt;
&lt;/ul&gt;
</content>
    <id>https://alchemists.io/talks/terminus</id>
    <link href="https://alchemists.io/talks/terminus"/>
    <published>2025-07-09T11:27:45+00:00</published>
    <rights>2026</rights>
    <title>Terminus Talk</title>
    <updated>2026-07-02T20:58:13+00:00</updated>
    <dc:date>2026-07-02T20:58:13+00:00</dc:date>
  </entry>
  <entry>
    <author>
      <name>Brooke Kuhlmann</name>
      <uri>https://alchemists.io/team/brooke_kuhlmann</uri>
    </author>
    <category term="talks"
      label="Talks"/>
    <content type="html">&lt;p align=&quot;center&quot;&gt;
  &lt;a href=&quot;/talks/milestones&quot;&gt;
    &lt;img src=&quot;/images/talks/milestones/cover-original.png&quot;&gt;
  &lt;/a&gt;
&lt;/p&gt;

&lt;h2&gt;Summary&lt;/h2&gt;
&lt;p&gt;Many teams suffer from inconsistent milestones (i.e. tags/versions/releases), lack of automation, and poor communication on what, exactly, has been deployed. In this talk -- which is geared towards intermediate to advanced engineers -- you&#39;ll learn why strict semantic versioning, release note generation, automation, and communication is critical to lean engineering so you can remain focused on delivering happiness to fellow engineers, stakeholders, and customers. You&#39;ll also walk away with powerful open source tooling -- built upon Hanami and htmx -- that you can immediately incorporate in your own workflow!&lt;/p&gt;

&lt;h2&gt;Details&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;b&gt;Ratio&lt;/b&gt;: 16:9&lt;/li&gt;
  &lt;li&gt;&lt;b&gt;Slides&lt;/b&gt;: 71&lt;/li&gt;
&lt;/ul&gt;
</content>
    <id>https://alchemists.io/talks/milestones</id>
    <link href="https://alchemists.io/talks/milestones"/>
    <published>2024-07-11T23:32:58+00:00</published>
    <rights>2026</rights>
    <title>Milestones Talk</title>
    <updated>2026-02-06T17:03:07+00:00</updated>
    <dc:date>2026-02-06T17:03:07+00:00</dc:date>
  </entry>
  <entry>
    <author>
      <name>Brooke Kuhlmann</name>
      <uri>https://alchemists.io/team/brooke_kuhlmann</uri>
    </author>
    <category term="talks"
      label="Talks"/>
    <content type="html">&lt;p align=&quot;center&quot;&gt;
  &lt;a href=&quot;/talks/ruby_fusion&quot;&gt;
    &lt;img src=&quot;/images/talks/ruby_fusion/cover-original.png&quot;&gt;
  &lt;/a&gt;
&lt;/p&gt;

&lt;h2&gt;Summary&lt;/h2&gt;
&lt;p&gt;Presents the inception of the Ruby Fusion virtual gathering which emphasizes a strong focus on Functional Programming (FP) melded with Object Oriented Programming (OOP). Constantly melding these two paradigms together leads to elegant architectures and better teams. I tend to call this advanced Ruby which requires writing less code, increased maintainability, and better patterns. This community has been formed to push these principles forward so we can keep evolving the Ruby language and the boundaries of what&#39;s possible.&lt;/p&gt;

&lt;h2&gt;Details&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;b&gt;Ratio&lt;/b&gt;: 16:9&lt;/li&gt;
  &lt;li&gt;&lt;b&gt;Slides&lt;/b&gt;: 24&lt;/li&gt;
&lt;/ul&gt;
</content>
    <id>https://alchemists.io/talks/ruby_fusion</id>
    <link href="https://alchemists.io/talks/ruby_fusion"/>
    <published>2024-05-09T00:03:25+00:00</published>
    <rights>2026</rights>
    <title>Ruby Fusion Talk</title>
    <updated>2025-04-12T20:32:06+00:00</updated>
    <dc:date>2025-04-12T20:32:06+00:00</dc:date>
  </entry>
  <entry>
    <author>
      <name>Brooke Kuhlmann</name>
      <uri>https://alchemists.io/team/brooke_kuhlmann</uri>
    </author>
    <category term="talks"
      label="Talks"/>
    <content type="html">&lt;p align=&quot;center&quot;&gt;
  &lt;a href=&quot;/talks/hanami_and_htmx&quot;&gt;
    &lt;img src=&quot;/images/talks/hanami_and_htmx/cover-original.png&quot;&gt;
  &lt;/a&gt;
&lt;/p&gt;

&lt;h2&gt;Summary&lt;/h2&gt;
&lt;p&gt;This talk is focused on the Hanami Ruby web framework and the htmx JavaScript library to craft simple and more streamlined Hypermedia REST applications which don&#39;t require large teams, tons of communication, complicated JavaScript stacks, and convoluted deployments. Instead, you are empowered to design, architect, and implement features that not only are a joy to develop and maintain but deliver happiness to your customer base as well.&lt;/p&gt;

&lt;h2&gt;Details&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;b&gt;Ratio&lt;/b&gt;: 16:9&lt;/li&gt;
  &lt;li&gt;&lt;b&gt;Slides&lt;/b&gt;: 92&lt;/li&gt;
&lt;/ul&gt;
</content>
    <id>https://alchemists.io/talks/hanami_and_htmx</id>
    <link href="https://alchemists.io/talks/hanami_and_htmx"/>
    <published>2023-10-06T12:56:20+00:00</published>
    <rights>2026</rights>
    <title>Hanami and htmx Talk</title>
    <updated>2026-01-16T15:00:39+00:00</updated>
    <dc:date>2026-01-16T15:00:39+00:00</dc:date>
  </entry>
  <entry>
    <author>
      <name>Brooke Kuhlmann</name>
      <uri>https://alchemists.io/team/brooke_kuhlmann</uri>
    </author>
    <category term="talks"
      label="Talks"/>
    <content type="html">&lt;p align=&quot;center&quot;&gt;
  &lt;a href=&quot;/talks/ruby_function_composition&quot;&gt;
    &lt;img src=&quot;/images/talks/ruby_function_composition/cover-original.png&quot;&gt;
  &lt;/a&gt;
&lt;/p&gt;

&lt;h2&gt;Summary&lt;/h2&gt;
&lt;p&gt;Ruby elegantly blends both Object Oriented and Functional design together with minimal effort. In this talk, I&#39;ll combine both of these design patterns by briefly walking you through the fundamentals of functional composition, the Railway Pattern, and finally wrapping all of this up in a nice transactional pipeline object composed of multiple -- fault tolerant -- steps for building robust architectures. You&#39;ll learn a lot and walk away with new functionality to apply to your own code base.&lt;/p&gt;

&lt;h2&gt;Details&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;b&gt;Ratio&lt;/b&gt;: 16:9&lt;/li&gt;
  &lt;li&gt;&lt;b&gt;Slides&lt;/b&gt;: 63&lt;/li&gt;
&lt;/ul&gt;
</content>
    <id>https://alchemists.io/talks/ruby_function_composition</id>
    <link href="https://alchemists.io/talks/ruby_function_composition"/>
    <published>2023-02-08T00:10:34+00:00</published>
    <rights>2026</rights>
    <title>Ruby Function Composition Talk</title>
    <updated>2025-01-22T15:39:16+00:00</updated>
    <dc:date>2025-01-22T15:39:16+00:00</dc:date>
  </entry>
  <entry>
    <author>
      <name>Brooke Kuhlmann</name>
      <uri>https://alchemists.io/team/brooke_kuhlmann</uri>
    </author>
    <category term="talks"
      label="Talks"/>
    <content type="html">&lt;p align=&quot;center&quot;&gt;
  &lt;a href=&quot;/talks/janus&quot;&gt;
    &lt;img src=&quot;/images/talks/janus/cover-original.png&quot;&gt;
  &lt;/a&gt;
&lt;/p&gt;

&lt;h2&gt;Summary&lt;/h2&gt;
&lt;p&gt;Many teams suffer from having a deployment process which clearly communicates what has been released, is consistent, of high quality, and fully automated so anyone on the team can deploy with minimal effort. Janus alleviates these concerns by providing a service (coming soon) any team can subscribe to on a monthly -- or yearly -- basis so they don&#39;t have to maintain or reinvent the wheel. Even better, Janus is open source. This means you can host and maintain Janus yourself or pay for the service directly. Now that you have a sense of what Janus is and why it&#39;s important, this talk will further illuminate the what, why, and how of the Janus system for use within your own engineering process.&lt;/p&gt;

&lt;h2&gt;Details&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;b&gt;Ratio&lt;/b&gt;: 16:9&lt;/li&gt;
  &lt;li&gt;&lt;b&gt;Slides&lt;/b&gt;: 24&lt;/li&gt;
&lt;/ul&gt;
</content>
    <id>https://alchemists.io/talks/janus</id>
    <link href="https://alchemists.io/talks/janus"/>
    <published>2022-06-10T22:11:14+00:00</published>
    <rights>2026</rights>
    <title>Janus Talk</title>
    <updated>2024-12-09T22:42:33+00:00</updated>
    <dc:date>2024-12-09T22:42:33+00:00</dc:date>
  </entry>
  <entry>
    <author>
      <name>Brooke Kuhlmann</name>
      <uri>https://alchemists.io/team/brooke_kuhlmann</uri>
    </author>
    <category term="talks"
      label="Talks"/>
    <content type="html">&lt;p align=&quot;center&quot;&gt;
  &lt;a href=&quot;/talks/ruby_git_hub_packages&quot;&gt;
    &lt;img src=&quot;/images/talks/ruby_git_hub_packages/cover-original.png&quot;&gt;
  &lt;/a&gt;
&lt;/p&gt;

&lt;h2&gt;Summary&lt;/h2&gt;
&lt;p&gt;RubyGems is the default server when publishing a public gem but, sometimes, you can&#39;t open source your work. An alternative solution is to use GitHub Packages for publishing private gems so your internal programs, applications, and/or services can have the same convenience as what you&#39;d find when using RubyGems. In this talk, you&#39;ll learn how to use Gemsmith to publish your gem to your own GitHub Packages repository while using GitHub Actions to automate the entire process.&lt;/p&gt;

&lt;h2&gt;Details&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;b&gt;Ratio&lt;/b&gt;: 16:9&lt;/li&gt;
  &lt;li&gt;&lt;b&gt;Slides&lt;/b&gt;: 30&lt;/li&gt;
&lt;/ul&gt;
</content>
    <id>https://alchemists.io/talks/ruby_git_hub_packages</id>
    <link href="https://alchemists.io/talks/ruby_git_hub_packages"/>
    <published>2022-04-05T12:11:24+00:00</published>
    <rights>2026</rights>
    <title>Ruby GitHub Packages Talk</title>
    <updated>2024-12-09T22:42:49+00:00</updated>
    <dc:date>2024-12-09T22:42:49+00:00</dc:date>
  </entry>
  <entry>
    <author>
      <name>Brooke Kuhlmann</name>
      <uri>https://alchemists.io/team/brooke_kuhlmann</uri>
    </author>
    <category term="talks"
      label="Talks"/>
    <content type="html">&lt;p align=&quot;center&quot;&gt;
  &lt;a href=&quot;/talks/rails_instrumentation&quot;&gt;
    &lt;img src=&quot;/images/talks/rails_instrumentation/cover-original.png&quot;&gt;
  &lt;/a&gt;
&lt;/p&gt;

&lt;h2&gt;Summary&lt;/h2&gt;
&lt;p&gt;Learn how to unleash the power of instrumentation already baked into your Rails application for monitoring, metrics, logging, and many other purposes. In this presentation, you&#39;ll learn how Rails uses the Observer Pattern to asynchronously instrument events for which you can subscribe to and even customize for your specific business needs.&lt;/p&gt;

&lt;h2&gt;Details&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;b&gt;Ratio&lt;/b&gt;: 16:9&lt;/li&gt;
  &lt;li&gt;&lt;b&gt;Slides&lt;/b&gt;: 32&lt;/li&gt;
&lt;/ul&gt;
</content>
    <id>https://alchemists.io/talks/rails_instrumentation</id>
    <link href="https://alchemists.io/talks/rails_instrumentation"/>
    <published>2020-11-13T12:24:53+00:00</published>
    <rights>2026</rights>
    <title>Rails Instrumentation Talk</title>
    <updated>2024-12-09T22:42:54+00:00</updated>
    <dc:date>2024-12-09T22:42:54+00:00</dc:date>
  </entry>
  <entry>
    <author>
      <name>Brooke Kuhlmann</name>
      <uri>https://alchemists.io/team/brooke_kuhlmann</uri>
    </author>
    <category term="talks"
      label="Talks"/>
    <content type="html">&lt;p align=&quot;center&quot;&gt;
  &lt;a href=&quot;/talks/ruby_pattern_matching&quot;&gt;
    &lt;img src=&quot;/images/talks/ruby_pattern_matching/cover-original.png&quot;&gt;
  &lt;/a&gt;
&lt;/p&gt;

&lt;h2&gt;Summary&lt;/h2&gt;
&lt;p&gt;Pattern matching is a great way to build Command Line Interfaces (CLIs), deal with third-party Application Programming Interfaces (APIs), and much more. In this presentation you&#39;ll learn what pattern matching is and how to leverage the power of pattern matching within your own Ruby applications!&lt;/p&gt;

&lt;h2&gt;Details&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;b&gt;Ratio&lt;/b&gt;: 16:9&lt;/li&gt;
  &lt;li&gt;&lt;b&gt;Slides&lt;/b&gt;: 52&lt;/li&gt;
&lt;/ul&gt;
</content>
    <id>https://alchemists.io/talks/ruby_pattern_matching</id>
    <link href="https://alchemists.io/talks/ruby_pattern_matching"/>
    <published>2020-10-02T13:13:55+00:00</published>
    <rights>2026</rights>
    <title>Ruby Pattern Matching Talk</title>
    <updated>2024-12-09T22:43:01+00:00</updated>
    <dc:date>2024-12-09T22:43:01+00:00</dc:date>
  </entry>
  <dc:date>2026-08-23T16:05:28+00:00</dc:date>
</feed>
