<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Ryan&#39;s blog</title>
    <link>https://www.ryandens.com/</link>
    <description>Recent content on Ryan&#39;s blog</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    <lastBuildDate>Sun, 24 May 2020 11:11:22 -0400</lastBuildDate>
    
	<atom:link href="https://www.ryandens.com/index.xml" rel="self" type="application/rss+xml" />
    
    
    <item>
      <title>✨ Announcing AutoDelegate: Java code generation that makes composition easy!</title>
      <link>https://www.ryandens.com/post/auto_delegate/</link>
      <pubDate>Tue, 16 Feb 2021 11:12:45 -0400</pubDate>
      
      <guid>https://www.ryandens.com/post/auto_delegate/</guid>
      <description>Summary For those without the time to read the full article, the &amp;ldquo;tl;dr&amp;rdquo; is
 We should favor composition to inheritance We should leverage code generation tooling to reduce boilerplate, maintenance cost, and encourage best practices AutoDelegate is a project which does both and is available on Maven Central!  The Problem Classical inheritance is the most widely used and hated abstraction in programming languages. It starts small but often results in complex and hard-to-understand behavior in large software projects.</description>
    </item>
    
    <item>
      <title>👷‍♀️ How to build a typesafe heterogeneous container with Dagger</title>
      <link>https://www.ryandens.com/post/dagger_thc/</link>
      <pubDate>Mon, 31 Aug 2020 08:00:00 -0400</pubDate>
      
      <guid>https://www.ryandens.com/post/dagger_thc/</guid>
      <description>Typesafe heterogeneous containers allow us to group objects of arbitrary types while maintaining the ability to access them in a typesafe manner. Dagger is a compile-time dependency injection tool which reduces the boilerplate in object initialization. Dagger provides incredibly useful functionality on top of the JSR-330 dependency injection specification which automatically builds other containers, like sets or lists, that contain objects which Dagger already knows how to instantiate. I&amp;rsquo;ll demonstrate how to leverage existing Dagger mechanisms to populate a typesafe heterogeneous container with objects that Dagger knows how to instantiate.</description>
    </item>
    
    <item>
      <title>✔️ How to Adopt Consumer-Driven Contract Tests</title>
      <link>https://www.ryandens.com/post/consumer_driven_contracts/</link>
      <pubDate>Wed, 24 Jun 2020 07:39:55 -0400</pubDate>
      
      <guid>https://www.ryandens.com/post/consumer_driven_contracts/</guid>
      <description>Testing web APIs is hard. As an industry, we&amp;rsquo;ve tackled this in many different ways - ranging from testing nothing at all to every aspect of both the client and the server code in one fell swoop. Consumer-driven contract tests can minimize non-deterministic failures, give developers confidence that their systems are working, and empower teams to solve problems in the systems they own. I&amp;rsquo;ll show you how to identify if contract tests are for you and if so, how to start using them at work.</description>
    </item>
    
    <item>
      <title>About</title>
      <link>https://www.ryandens.com/about/</link>
      <pubDate>Sun, 24 May 2020 11:11:22 -0400</pubDate>
      
      <guid>https://www.ryandens.com/about/</guid>
      <description>My name is Ryan, to learn more about me, check out my first blog post. The source code for this blog and the infrastructure it runs on can be found on Github.
Technical books which have influenced me  Efffective Java by Joshua Bloch Inspired: How To Create Tech Products Customers Love by Marty Cagan The Developer&amp;rsquo;s Guide to Content Creation by Stephanie Morillo Practical Object-Oriented Design in Ruby by Sandi Metz Specification by Example by Gojko Adzic  </description>
    </item>
    
    <item>
      <title>👋 First blog post</title>
      <link>https://www.ryandens.com/post/hello_world/</link>
      <pubDate>Sun, 24 May 2020 11:11:22 -0400</pubDate>
      
      <guid>https://www.ryandens.com/post/hello_world/</guid>
      <description>Hi! I&amp;rsquo;m Ryan, a software engineer living in Baltimore, MD. I enjoy testing, building, and deploying web services. I like the JVM ecosystem, app sec, coffee, rye whiskey, and delicious food. Here&amp;rsquo;s where you can find me online:
 ryandens on GitHub @RyanDens1 on twitter @rdens on Keybase ryan-dens on LinkedIn  </description>
    </item>
    
  </channel>
</rss>