<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Rami James — Thoughts</title>
    <link>https://www.ramijames.com/thoughts/</link>
    <description>Thoughts on Software, Docs, and DevRel</description>
    <language>en</language>
    <atom:link href="https://www.ramijames.com/rss.xml" rel="self" type="application/rss+xml"/>
    <item>
      <title>On Automating Image Compression</title>
      <link>https://www.ramijames.com/thoughts/on-automating-image-compression</link>
      <guid isPermaLink="true">https://www.ramijames.com/thoughts/on-automating-image-compression</guid>
      <pubDate>Tue, 27 Jan 2026 00:00:00 GMT</pubDate>
      <description>Ensure your users have the best experience while avoiding tedium yourself by using CLI and CI/CD tools to automate your process.</description>
      <category>technical</category>
    </item>
    <item>
      <title>WebGL Shaders with Three.js in Nuxt</title>
      <link>https://www.ramijames.com/thoughts/webgl-shaders-with-threejs-in-nuxt</link>
      <guid isPermaLink="true">https://www.ramijames.com/thoughts/webgl-shaders-with-threejs-in-nuxt</guid>
      <pubDate>Sun, 18 Jan 2026 00:00:00 GMT</pubDate>
      <description>Using WebGL shaders in a Nuxt project opens a wide field of possibilities for new effects and subtle visual enhancements.</description>
      <category>product &amp; design</category>
    </item>
    <item>
      <title>Reactive Grids in Nuxt</title>
      <link>https://www.ramijames.com/thoughts/reactive-grids-in-nuxt</link>
      <guid isPermaLink="true">https://www.ramijames.com/thoughts/reactive-grids-in-nuxt</guid>
      <pubDate>Sun, 18 Jan 2026 00:00:00 GMT</pubDate>
      <description>Build a reactive &amp; responsive grid of SVG elements that respond to mouse movement.</description>
      <category>product &amp; design</category>
    </item>
    <item>
      <title>On Creating Consistent Iconography</title>
      <link>https://www.ramijames.com/thoughts/on-creating-consistent-iconography</link>
      <guid isPermaLink="true">https://www.ramijames.com/thoughts/on-creating-consistent-iconography</guid>
      <pubDate>Thu, 01 Jan 2026 00:00:00 GMT</pubDate>
      <description>How a few simple rules can help your designs pop through consistent, beautiful iconography.</description>
      <category>product &amp; design</category>
    </item>
    <item>
      <title>The Cost of Translation</title>
      <link>https://www.ramijames.com/thoughts/the-cost-of-translation</link>
      <guid isPermaLink="true">https://www.ramijames.com/thoughts/the-cost-of-translation</guid>
      <pubDate>Wed, 31 Dec 2025 00:00:00 GMT</pubDate>
      <description>A detailed breakdown of why long-term product and design engagements are preferrable for companies over short-term freelance gigs.</description>
      <category>management</category>
    </item>
    <item>
      <title>A Partner, Not a Vendor</title>
      <link>https://www.ramijames.com/thoughts/a-partner-not-a-vendor</link>
      <guid isPermaLink="true">https://www.ramijames.com/thoughts/a-partner-not-a-vendor</guid>
      <pubDate>Mon, 29 Dec 2025 00:00:00 GMT</pubDate>
      <description>A detailed breakdown of why long-term product and design engagements are preferrable for companies over short-term freelance gigs.</description>
      <category>product &amp; design</category>
    </item>
    <item>
      <title>A Committed Year</title>
      <link>https://www.ramijames.com/thoughts/a-committed-year</link>
      <guid isPermaLink="true">https://www.ramijames.com/thoughts/a-committed-year</guid>
      <pubDate>Sun, 09 Mar 2025 00:00:00 GMT</pubDate>
      <description>A year ago, I committed to writing a bit of code every day. It&apos;s been a wild ride. Let&apos;s talk about what I&apos;ve learned.</description>
      <category>technical</category>
    </item>
    <item>
      <title>Reading Documentation Effectively</title>
      <link>https://www.ramijames.com/thoughts/reading-documentation-effectively</link>
      <guid isPermaLink="true">https://www.ramijames.com/thoughts/reading-documentation-effectively</guid>
      <pubDate>Thu, 06 Feb 2025 00:00:00 GMT</pubDate>
      <description>Reading documentation is a skill that can be learned. Let&apos;s talk about how to do it effectively so that you retain the most knowledge in the shortest amount of time.</description>
      <category>technical</category>
    </item>
    <item>
      <title>Why Developer Relations Matters</title>
      <link>https://www.ramijames.com/thoughts/why-developer-relations-matters</link>
      <guid isPermaLink="true">https://www.ramijames.com/thoughts/why-developer-relations-matters</guid>
      <pubDate>Thu, 06 Feb 2025 00:00:00 GMT</pubDate>
      <description>Developer Relations is a key part of any software company&apos;s growth strategy. Let&apos;s talk about how to build a successful DevRel program.</description>
      <category>technical</category>
    </item>
    <item>
      <title>Use Verbose Comments</title>
      <link>https://www.ramijames.com/thoughts/use-verbose-comments</link>
      <guid isPermaLink="true">https://www.ramijames.com/thoughts/use-verbose-comments</guid>
      <pubDate>Tue, 04 Feb 2025 00:00:00 GMT</pubDate>
      <description>Migrations are the traditional way to manage the structure of your database. Supabase has a great way to manage migrations and we&apos;ll see how to use them in this article.</description>
      <category>technical</category>
    </item>
    <item>
      <title>Quick Walkthrough on Using Supabase Migrations</title>
      <link>https://www.ramijames.com/thoughts/quick-walkthrough-using-supabase-migrations</link>
      <guid isPermaLink="true">https://www.ramijames.com/thoughts/quick-walkthrough-using-supabase-migrations</guid>
      <pubDate>Sat, 01 Feb 2025 00:00:00 GMT</pubDate>
      <description>Migrations are the traditional way to manage the structure of your database. Supabase has a great way to manage migrations and we&apos;ll see how to use them in this article.</description>
      <category>technical</category>
    </item>
    <item>
      <title>On Using iCloud Drive for Storage</title>
      <link>https://www.ramijames.com/thoughts/on-using-icloud-drive-for-storage</link>
      <guid isPermaLink="true">https://www.ramijames.com/thoughts/on-using-icloud-drive-for-storage</guid>
      <pubDate>Sun, 26 Jan 2025 00:00:00 GMT</pubDate>
      <description>iCloud is a good way to replicate your files remotes so that, in the case of a catastrophe, you will not have complete data loss. For Mac users it has great integration and I recommend using it.</description>
      <category>technical</category>
    </item>
    <item>
      <title>How to Make Product Decisions based on Business Needs</title>
      <link>https://www.ramijames.com/thoughts/how-to-make-product-decisions-based-on-business-needs</link>
      <guid isPermaLink="true">https://www.ramijames.com/thoughts/how-to-make-product-decisions-based-on-business-needs</guid>
      <pubDate>Thu, 20 Jun 2024 00:00:00 GMT</pubDate>
      <description>It can be difficult to make moral decisions when it comes to developing your product. Let&apos;s talk about how to make product decisions based on business needs.</description>
      <category>product &amp; design</category>
    </item>
    <item>
      <title>Supabase Email Authentication with Google Workspace</title>
      <link>https://www.ramijames.com/thoughts/supabase-email-authentication-with-google-workspace</link>
      <guid isPermaLink="true">https://www.ramijames.com/thoughts/supabase-email-authentication-with-google-workspace</guid>
      <pubDate>Wed, 12 Jun 2024 00:00:00 GMT</pubDate>
      <description>Supabase recently released a new feature that allows you to authenticate users with Google Workspace. Let&apos;s see how we can implement this in a Vue.js application.</description>
      <category>technical</category>
    </item>
    <item>
      <title>CSS Mesh Gradients</title>
      <link>https://www.ramijames.com/thoughts/css-mesh-gradients</link>
      <guid isPermaLink="true">https://www.ramijames.com/thoughts/css-mesh-gradients</guid>
      <pubDate>Wed, 12 Jun 2024 00:00:00 GMT</pubDate>
      <description>Apple recently released Mesh Gradients as a feature for iOS development. Let&apos;s see if we can replicate this in CSS.</description>
      <category>technical</category>
    </item>
    <item>
      <title>Asking for help is a core developer skill</title>
      <link>https://www.ramijames.com/thoughts/asking-for-help-is-a-core-skill</link>
      <guid isPermaLink="true">https://www.ramijames.com/thoughts/asking-for-help-is-a-core-skill</guid>
      <pubDate>Wed, 03 Apr 2024 00:00:00 GMT</pubDate>
      <description>Intentionally or otherwise, I&apos;ve been blowing up my life since last summer. It’s been less than ideal. We&apos;ll get to why in a second, but first, let&apos;s talk about everyone&apos;s favorite awful programming language and the impact of package managers, their packages, and the endless toil they create.</description>
      <category>technical</category>
    </item>
    <item>
      <title>Package dependency hell</title>
      <link>https://www.ramijames.com/thoughts/package-dependency-hell</link>
      <guid isPermaLink="true">https://www.ramijames.com/thoughts/package-dependency-hell</guid>
      <pubDate>Mon, 26 Feb 2024 00:00:00 GMT</pubDate>
      <description>Intentionally or otherwise, I&apos;ve been blowing up my life since last summer. It’s been less than ideal. We&apos;ll get to why in a second, but first, let&apos;s talk about everyone&apos;s favorite awful programming language and the impact of package managers, their packages, and the endless toil they create.</description>
      <category>personal</category>
    </item>
    <item>
      <title>Peak Software Abuse</title>
      <link>https://www.ramijames.com/thoughts/peak-software-abuse</link>
      <guid isPermaLink="true">https://www.ramijames.com/thoughts/peak-software-abuse</guid>
      <pubDate>Tue, 13 Feb 2024 00:00:00 GMT</pubDate>
      <description>My thoughts on how software gets worse because of profit incentives, and how the core reason NFTs are a failure is that they are used badly by the businesses that use them.</description>
      <category>technical</category>
    </item>
    <item>
      <title>The Work Structure Spectrum</title>
      <link>https://www.ramijames.com/thoughts/the-work-structure-spectrum</link>
      <guid isPermaLink="true">https://www.ramijames.com/thoughts/the-work-structure-spectrum</guid>
      <pubDate>Wed, 10 Jan 2024 00:00:00 GMT</pubDate>
      <description>Working on an Agile team can really suck. But, why? No structure at all sucks way more. We should talk about that, too.</description>
      <category>management</category>
    </item>
    <item>
      <title>Are your docs good?</title>
      <link>https://www.ramijames.com/thoughts/quantifying-your-documentations-success</link>
      <guid isPermaLink="true">https://www.ramijames.com/thoughts/quantifying-your-documentations-success</guid>
      <pubDate>Wed, 10 Jan 2024 00:00:00 GMT</pubDate>
      <description>The primary challenge faced by technical writers often boils down to how to evaluate the effectiveness of what you write. You build some documentation and you think it is great. How do you know if you are right? How do you prove it to upper management? How do you really, really know?</description>
      <category>technical</category>
    </item>
    <item>
      <title>Neurodiversity as software incompatibility</title>
      <link>https://www.ramijames.com/thoughts/neurodiversity-as-software-incompatibility</link>
      <guid isPermaLink="true">https://www.ramijames.com/thoughts/neurodiversity-as-software-incompatibility</guid>
      <pubDate>Sat, 06 Jan 2024 00:00:00 GMT</pubDate>
      <description>My days are taken up by thinking about two things: my kids and software. With neurodiverse kids, I think that they way we interact with them is akin to an API without documentation.</description>
      <category>personal</category>
    </item>
    <item>
      <title>Types of Interview Scams</title>
      <link>https://www.ramijames.com/thoughts/types-of-interview-scams</link>
      <guid isPermaLink="true">https://www.ramijames.com/thoughts/types-of-interview-scams</guid>
      <pubDate>Fri, 05 Jan 2024 00:00:00 GMT</pubDate>
      <description>There are many ways that scammers are using sites like LinkedIn and Twitter to attack desperate job seekers. I got scammed and here’s a detailed set of warnings and defenses.</description>
      <category>personal</category>
    </item>
    <item>
      <title>How To Iterate Relentlessly</title>
      <link>https://www.ramijames.com/thoughts/how-to-iterate-relentlessly</link>
      <guid isPermaLink="true">https://www.ramijames.com/thoughts/how-to-iterate-relentlessly</guid>
      <pubDate>Tue, 02 Jan 2024 00:00:00 GMT</pubDate>
      <description>It’s immensely hard to get traction for your product, and that is often because you’ve built the wrong thing and nobody wants to use that. Here’s a better process.</description>
      <category>product &amp; design</category>
    </item>
    <item>
      <title>Docs Deserve More Respect</title>
      <link>https://www.ramijames.com/thoughts/docs-deserve-more-respect</link>
      <guid isPermaLink="true">https://www.ramijames.com/thoughts/docs-deserve-more-respect</guid>
      <pubDate>Wed, 27 Dec 2023 00:00:00 GMT</pubDate>
      <description>A plea for more respect for documentation and technical writing in the software development industry.</description>
      <category>technical</category>
    </item>
  </channel>
</rss>