<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>GarrettDimon.com Links</title>
    <description>Garrett Dimon's digital garden with ruminations on Rails, Ruby, HTML, CSS, JavaScript, and life as an amputee.</description>
    <link>https://garrettdimon.com/feed/links</link>
    <webMaster>hey@garrettdimon.com</webMaster>
    <managingEditor>hey@garrettdimon.com</managingEditor>
    <copyright>&amp;copy; 2026 Garrett Dimon</copyright>
    <lastBuildDate>2025-01-23 00:00:00 UTC</lastBuildDate>
    <pubDate>2025-01-23 00:00:00 UTC</pubDate>
    <item>
      <title>Taking Over Fireside with John Nunemaker &amp; Garrett Dimon</title>
      <pubDate>Thu, 23 Jan 2025 00:00:00 +0000</pubDate>
      <source url="https://garrettdimon.com/feed/links"/>
      <author>hey@garrettdimon.com</author>
      <category>fireside</category>
      <category>podcast</category>
      <category>rails</category>
      <link>https://www.therubyonrailspodcast.com/531</link>
      <guid isPermaLink="true">https://garrettdimon.com/journal/links/taking-over-fireside-with-john-nunemaker-garrett-dimon</guid>
      <description>&lt;p&gt;John and I joined Elise on the Ruby on Rails Podcast to talk about taking over Fireside and what it’s like to to acquire an app and ramp up on things to get to work making changes and upgrading infrastructure slowly but surely.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://garrettdimon.com/journal/links/taking-over-fireside-with-john-nunemaker-garrett-dimon"&gt;Permalink&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    <item>
      <title>Rails’ Partial Features You (didn’t) Know</title>
      <pubDate>Sun, 17 Nov 2024 00:00:00 +0000</pubDate>
      <source url="https://garrettdimon.com/feed/links"/>
      <author>hey@garrettdimon.com</author>
      <category>partials</category>
      <category>rails</category>
      <category>ruby</category>
      <link>https://railsdesigner.com/rails-partial-features/</link>
      <guid isPermaLink="true">https://garrettdimon.com/journal/links/rails-partial-features-you-didn-t-know</guid>
      <description>&lt;p&gt;A very nice and concise summary of all the lesser-known and under-appreciated benefits of using partials in Rails. There are a lot of alternatives to partials these days, but they’re so nicely integrated with models, views, and layouts, I still lean heavily towards using partials and leveraging caching to reduce performance impacts.&lt;/p&gt;

&lt;p&gt;The only thing I’d add is that any class can work seamlessly with partials as long as it has defined a  &lt;a href="https://api.rubyonrails.org/classes/ActiveModel/Conversion.html#method-i-to_partial_path"&gt;&lt;code&gt;to_partial_path&lt;/code&gt; method&lt;/a&gt;. With that, we’re not limited to rendering only ActiveRecord models with an implicitly associated partial.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://garrettdimon.com/journal/links/rails-partial-features-you-didn-t-know"&gt;Permalink&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    <item>
      <title>Mastering Custom Configuration in Rails</title>
      <pubDate>Tue, 15 Oct 2024 00:00:00 +0000</pubDate>
      <source url="https://garrettdimon.com/feed"/>
      <author>hey@garrettdimon.com</author>
      <category>configuration</category>
      <category>rails</category>
      <category>ruby</category>
      <category>settings</category>
      <link>https://joyofrails.com/articles/mastering-custom-configuration-in-rails</link>
      <guid isPermaLink="true">https://garrettdimon.com/journal/links/mastering-custom-configuration-in-rails</guid>
      <description>&lt;p&gt;As someone who has spent far too much time thinking about &lt;a href="https://garrettdimon.com/journal/posts/unified-configuration-in-rails"&gt;managing configuration and secrets in Rails applications&lt;/a&gt;, this post from &lt;a href="https://joyofrails.com/"&gt;Joy of Rails&lt;/a&gt; is solid.&lt;/p&gt;

&lt;p&gt;&amp;gt; Learn how to use &amp;ldquo;Rails config x&amp;rdquo; and add your own configuration options to your Rails app with built-in methods, ActiveSupport::OrderedOptions, and practical use cases.&lt;/p&gt;

&lt;p&gt;Rails provides a plethora of great tools for managing configurable values, environment variables, credentials/secrets, and even per-environment variations. Like generators, while Rails uses them plenty internally, all of these tools are equally available and accessible for our own custom configuration bits.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://garrettdimon.com/journal/links/mastering-custom-configuration-in-rails"&gt;Permalink&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    <item>
      <title>A Logo on a Prosthesis Is Like a Tattoo You Didn’t Ask For</title>
      <pubDate>Thu, 19 Sep 2024 00:00:00 +0000</pubDate>
      <source url="https://garrettdimon.com/feed/links"/>
      <author>hey@garrettdimon.com</author>
      <category>amputation</category>
      <category>design</category>
      <category>prosthetics</category>
      <link>https://www.theatlantic.com/health/archive/2024/08/prosthetic-limb-branding-bebionic/679461/</link>
      <guid isPermaLink="true">https://garrettdimon.com/journal/links/a-logo-on-a-prosthesis-is-like-a-tattoo-you-didn-t-ask-for</guid>
      <description>&lt;p&gt;Companies love to plaster their logos everywhere. In many ways, the degree to which companies prioritize their logo visibility on products speaks volumes about the company’s priorities.&lt;/p&gt;

&lt;p&gt;As an amputee, I like it even less when companies slap obtrusive logos on my feet or legs. In most cases, there’s very little we can do, so most of us just accept it.&lt;/p&gt;

&lt;p&gt;&amp;gt; Like many other amputees, after seeing a cosmetic prosthesis that reminded me most of a severed hand, I opted for a more mechanical mien. But plastered across the top of the bionic hand I wanted, in traffic-cone orange and black, was the device’s name, bebionic.&lt;/p&gt;

&lt;p&gt;It’s often not worth railing against the corporate narcissism, but it’s one thing to add obtrusive logos to products can people can choose not to use. Putting a logo on a body part someone has to wear every day? That’s rather shameless in my book.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://garrettdimon.com/journal/links/a-logo-on-a-prosthesis-is-like-a-tattoo-you-didn-t-ask-for"&gt;Permalink&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    <item>
      <title>Per Seat Pricing Sucks</title>
      <pubDate>Wed, 21 Aug 2024 00:00:00 +0000</pubDate>
      <source url="https://garrettdimon.com/feed/links"/>
      <author>hey@garrettdimon.com</author>
      <category>pricing</category>
      <category>saas</category>
      <link>https://blog.flippercloud.io/per-seat-pricing-sucks/</link>
      <guid isPermaLink="true">https://garrettdimon.com/journal/links/per-seat-pricing-sucks</guid>
      <description>&lt;p&gt;We’re close to rolling out updated pricing for Flipper Cloud, and it goes against most of the advice we heard from other SaaS teams. We’re moving forward anyways because it feels like the right thing to do for our context. &lt;/p&gt;

&lt;p&gt;&amp;gt; When we started billing for Flipper Cloud, we did what everyone else in the space was doing – per seat pricing. $20 per seat each month felt like plenty. As time has passed this choice has increasingly bothered me. The past few months I&amp;rsquo;ve been thinking about what type of billing I like.&lt;/p&gt;

&lt;p&gt;Instead of strategizing about maximizing revenue, we focused on finding an approach that would maximize customer satisfaction while leaving room for reasonable profit. We could be entirely wrong, but there’s really only one way to find out.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://garrettdimon.com/journal/links/per-seat-pricing-sucks"&gt;Permalink&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    <item>
      <title>Turning the Tables on AI</title>
      <pubDate>Sat, 15 Jun 2024 00:00:00 +0000</pubDate>
      <source url="https://garrettdimon.com/feed"/>
      <author>hey@garrettdimon.com</author>
      <category>ai</category>
      <link>https://ia.net/topics/turning-the-tables-on-ai</link>
      <guid isPermaLink="true">https://garrettdimon.com/journal/links/turning-the-tables-on-ai</guid>
      <description>&lt;p&gt;I haven’t yet tried this tactic, but I really like the idea. Instead of requesting &lt;em&gt;answers&lt;/em&gt;, we request a sort of virtual debate to help us strengthen our own thinking as we try to write it down.&lt;/p&gt;

&lt;p&gt;&amp;gt; Let’s turn the tables and have ChatGPT prompt us. Tell AI to ask you questions about what you’re writing. Push yourself to express in clear terms what you really want to say.&lt;/p&gt;

&lt;p&gt;Of course, there’s still the fact that &lt;a href="https://www.theverge.com/24066646/ai-electricity-energy-watts-generative-consumption"&gt;AI uses an inordinate amount of power&lt;/a&gt;, but this is one of those applications that feels like it has real potential if the power usage can ever get under control. It’s like a &lt;a href="https://en.wikipedia.org/wiki/Rubber_duck_debugging"&gt;rubber duck&lt;/a&gt; for your thoughts.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://garrettdimon.com/journal/links/turning-the-tables-on-ai"&gt;Permalink&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    <item>
      <title>Testing HTML With Modern CSS</title>
      <pubDate>Tue, 09 Apr 2024 00:00:00 +0000</pubDate>
      <source url="https://garrettdimon.com/feed/links"/>
      <author>hey@garrettdimon.com</author>
      <category>accessibility</category>
      <category>css</category>
      <category>testing</category>
      <link>https://heydonworks.com/article/testing-html-with-modern-css/</link>
      <guid isPermaLink="true">https://garrettdimon.com/journal/links/testing-html-with-modern-css</guid>
      <description>&lt;p&gt;Add a CSS file that will reprimand you whenever you write bad markup.&lt;/p&gt;

&lt;p&gt;&amp;gt; In a nutshell, the purpose of REVENGE.CSS is to apply visual regressions to any markup anti-patterns. It makes bad HTML look bad, by styling it using a sickly pink color and the infamous Comic Sans MS font.&lt;/p&gt;

&lt;p&gt;I’ve done a light version of this before to help me catch development placeholders that I forgot about or other obvious issues, but Heydon’s stylesheet takes it to another level. You gotta love simple tools that perform a useful job very well.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://garrettdimon.com/journal/links/testing-html-with-modern-css"&gt;Permalink&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    <item>
      <title>A Collection of Design Engineers</title>
      <pubDate>Thu, 14 Mar 2024 00:00:00 +0000</pubDate>
      <source url="https://garrettdimon.com/feed/links"/>
      <author>hey@garrettdimon.com</author>
      <category>design</category>
      <category>engineering</category>
      <link>https://maggieappleton.com/design-engineers</link>
      <guid isPermaLink="true">https://garrettdimon.com/journal/links/a-collection-of-design-engineers</guid>
      <description>&lt;p&gt;Maggie does a great job qualifying a role that feels like it belongs in our vocabulary—the people at the intersection of design and development. Her post leans towards a focus on front-end development, but, for the most part, it reads relevant to back-end as well.&lt;/p&gt;

&lt;p&gt;&amp;gt; &lt;strong&gt;Design engineer&lt;/strong&gt; captures something simple, important, and worth distinguishing: a person who sits squarely at the intersection of design and engineering, and works to bridge the gap between them.&lt;/p&gt;

&lt;p&gt;I’ve struggled to define my role with almost every team I’ve been on precisely because my skill set doesn’t fit neatly into a box. Being a not-amazing designer and also a not-amazing developer, my skill set feels underwhelming when only looking through one of those lenses. All of the value of those skills comes from the intersection in that I’m not biased either way and look for solutions that integrate the appropriate aspects of both.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://garrettdimon.com/journal/links/a-collection-of-design-engineers"&gt;Permalink&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    <item>
      <title>Naming things needn’t be hard</title>
      <pubDate>Sat, 04 Nov 2023 00:00:00 +0000</pubDate>
      <source url="https://garrettdimon.com/feed/links"/>
      <author>hey@garrettdimon.com</author>
      <category>development</category>
      <category>programming</category>
      <link>https://classnames.paulrobertlloyd.com/</link>
      <guid isPermaLink="true">https://garrettdimon.com/journal/links/naming-things-needn-t-be-hard</guid>
      <description>&lt;p&gt;A really handy site by Paul Robert Lloyd that provides a variety of tactics and considerations to help when naming something. He also &lt;a href="https://paulrobertlloyd.com/2023/272/a1/classnames/"&gt;shared the back story on how the site came about&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://garrettdimon.com/journal/links/naming-things-needn-t-be-hard"&gt;Permalink&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    <item>
      <title>Stop saying how simple things are in our docs!</title>
      <pubDate>Fri, 03 Nov 2023 00:00:00 +0000</pubDate>
      <source url="https://garrettdimon.com/feed/links"/>
      <author>hey@garrettdimon.com</author>
      <category>documentation</category>
      <category>writing</category>
      <link>https://justsimply.dev/</link>
      <guid isPermaLink="true">https://garrettdimon.com/journal/links/stop-saying-how-simple-things-are-in-our-docs</guid>
      <description>&lt;p&gt;Even being aware of this and actively trying to avoid it, I’m sure I still make this mistake all of the time.&lt;/p&gt;

&lt;p&gt;&amp;gt; If someone’s been driven to Google something you’ve written, they’re stuck. Being stuck is, to one degree or another, upsetting and annoying. So try not to make them feel worse by telling them how straightforward they should be finding it. It gets in the way of them learning what you want them to learn.&lt;/p&gt;

&lt;p&gt;Pretty sure it can’t be said enough. Hopefully this is a reminder that sticks and helps me remember to trim all that garbage out of my writing.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://garrettdimon.com/journal/links/stop-saying-how-simple-things-are-in-our-docs"&gt;Permalink&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
  </channel>
</rss>
