<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
  <title>Keygen Blog</title>
  <description>The latest blog posts from Keygen on software licensing, software engineering, and running a SaaS business.</description>
  <link>https://keygen.sh/blog/</link>
  <atom:link href="https://keygen.sh/blog/feed.xml" rel="self" type="application/rss+xml" />
  <lastBuildDate>Mon, 11 May 2026 14:55:55 GMT</lastBuildDate>
  <item>
    <title>How I replaced Baremetrics and ChartMogul with Rake</title>
    <description>How I used a Rake task to replace Baremetrics and ChartMogul for business analytics.</description>
    <pubDate>Tue, 05 Jan 2021 06:00:00 GMT</pubDate>
    <link>https://keygen.sh/blog/how-i-replaced-baremetrics-and-chartmogul-with-rake/</link>
    <guid isPermaLink="true">https://keygen.sh/blog/how-i-replaced-baremetrics-and-chartmogul-with-rake/</guid>
  </item>
  <item>
    <title>How to Implement API Key Authentication in Rails Without Devise</title>
    <description>Contrary to popular belief, you don't need Devise to implement API key authentication in a Ruby on Rails app.</description>
    <pubDate>Fri, 16 Apr 2021 05:00:00 GMT</pubDate>
    <link>https://keygen.sh/blog/how-to-implement-api-key-authentication-in-rails-without-devise/</link>
    <guid isPermaLink="true">https://keygen.sh/blog/how-to-implement-api-key-authentication-in-rails-without-devise/</guid>
  </item>
  <item>
    <title>How to Generate Secure License Keys in 2026</title>
    <description>Software vendors should move away from legacy license key algorithms such as partial key verification to generating secure license keys using modern algorithms like elliptic-curve and RSA cryptography.</description>
    <pubDate>Wed, 02 Jun 2021 05:00:00 GMT</pubDate>
    <link>https://keygen.sh/blog/how-to-generate-license-keys/</link>
    <guid isPermaLink="true">https://keygen.sh/blog/how-to-generate-license-keys/</guid>
  </item>
  <item>
    <title>How to Build a Webhook System in Rails Using Sidekiq</title>
    <description>It's the heyday of SaaS and webhooks are all the rage. Learn how to build a webhook system for your service using Rails and Sidekiq.</description>
    <pubDate>Wed, 16 Jun 2021 05:00:00 GMT</pubDate>
    <link>https://keygen.sh/blog/how-to-build-a-webhook-system-in-rails-using-sidekiq/</link>
    <guid isPermaLink="true">https://keygen.sh/blog/how-to-build-a-webhook-system-in-rails-using-sidekiq/</guid>
  </item>
  <item>
    <title>How to License and Distribute a Private Node Module</title>
    <description>Learn how to license and distribute private Node.js packages using Keygen's software licensing and distribution API.</description>
    <pubDate>Wed, 04 Aug 2021 05:00:00 GMT</pubDate>
    <link>https://keygen.sh/blog/how-to-license-and-distribute-commercial-node-modules/</link>
    <guid isPermaLink="true">https://keygen.sh/blog/how-to-license-and-distribute-commercial-node-modules/</guid>
  </item>
  <item>
    <title>How to License and Distribute an Electron App</title>
    <description>Learn how to license and distribute a commercial Electron app using Keygen's software licensing and distribution API.</description>
    <pubDate>Tue, 07 Sep 2021 05:00:00 GMT</pubDate>
    <link>https://keygen.sh/blog/how-to-license-and-distribute-an-electron-app/</link>
    <guid isPermaLink="true">https://keygen.sh/blog/how-to-license-and-distribute-an-electron-app/</guid>
  </item>
  <item>
    <title>That Time I Told My Wife I Wanted to Quit My Job</title>
    <description>It was midnight on May 22nd, 2016 that I pushed my first commit to GitHub for a new idea. Little did I know what would happen next.</description>
    <pubDate>Tue, 21 Sep 2021 05:00:00 GMT</pubDate>
    <link>https://keygen.sh/blog/that-time-i-told-my-wife-i-wanted-to-quit-my-job/</link>
    <guid isPermaLink="true">https://keygen.sh/blog/that-time-i-told-my-wife-i-wanted-to-quit-my-job/</guid>
  </item>
  <item>
    <title>From Side-Project to Full-Time: 5 Things I've Learned in 5 Years</title>
    <description>I've learned a lot going from a side project to a full-time business. Read on to learn the 5 things that have stuck with me.</description>
    <pubDate>Tue, 28 Sep 2021 05:00:00 GMT</pubDate>
    <link>https://keygen.sh/blog/5-things-ive-learned-in-5-years/</link>
    <guid isPermaLink="true">https://keygen.sh/blog/5-things-ive-learned-in-5-years/</guid>
  </item>
  <item>
    <title>How to Implement TOTP 2FA in Rails using ROTP</title>
    <description>Learn how to implement OTP second factor authentication in a Ruby on Rails app using the ROTP gem.</description>
    <pubDate>Mon, 04 Oct 2021 05:00:00 GMT</pubDate>
    <link>https://keygen.sh/blog/how-to-implement-totp-2fa-in-rails-using-rotp/</link>
    <guid isPermaLink="true">https://keygen.sh/blog/how-to-implement-totp-2fa-in-rails-using-rotp/</guid>
  </item>
  <item>
    <title>Good SaaS Products Are Like UNIX Tools</title>
    <description>Reusable, composable, single responsibility — these are all things good SaaS products have in common with UNIX command line tools.</description>
    <pubDate>Fri, 12 Nov 2021 06:00:00 GMT</pubDate>
    <link>https://keygen.sh/blog/good-saas-products-are-like-unix-tools/</link>
    <guid isPermaLink="true">https://keygen.sh/blog/good-saas-products-are-like-unix-tools/</guid>
  </item>
  <item>
    <title>How to License and Distribute a Private Docker Image</title>
    <description>Learn how to license and distribute commercial Docker images using Keygen's software licensing and distribution API.</description>
    <pubDate>Mon, 13 Dec 2021 06:00:00 GMT</pubDate>
    <link>https://keygen.sh/blog/how-to-license-and-distribute-a-private-docker-image/</link>
    <guid isPermaLink="true">https://keygen.sh/blog/how-to-license-and-distribute-a-private-docker-image/</guid>
  </item>
  <item>
    <title>How to License and Distribute a Private Ruby Gem</title>
    <description>Learn how to license and distribute commercial Ruby gems with Keygen's software licensing and distribution API.</description>
    <pubDate>Thu, 16 Dec 2021 06:00:00 GMT</pubDate>
    <link>https://keygen.sh/blog/how-to-license-and-distribute-a-private-rubygem/</link>
    <guid isPermaLink="true">https://keygen.sh/blog/how-to-license-and-distribute-a-private-rubygem/</guid>
  </item>
  <item>
    <title>What is a Perpetual Software License?</title>
    <description>When faced with the choice of a subscription-based or perpetual license, should businesses prefer one over the other?</description>
    <pubDate>Mon, 20 Dec 2021 06:00:00 GMT</pubDate>
    <link>https://keygen.sh/blog/what-is-a-perpetual-software-license/</link>
    <guid isPermaLink="true">https://keygen.sh/blog/what-is-a-perpetual-software-license/</guid>
  </item>
  <item>
    <title>I Quit!</title>
    <description>Enough is enough.</description>
    <pubDate>Mon, 10 Jan 2022 06:00:00 GMT</pubDate>
    <link>https://keygen.sh/blog/i-quit/</link>
    <guid isPermaLink="true">https://keygen.sh/blog/i-quit/</guid>
  </item>
  <item>
    <title>Announcing License Key Authentication</title>
    <description>Introducing a new, even easier way, to authenticate with our software licensing API.</description>
    <pubDate>Tue, 25 Jan 2022 06:00:00 GMT</pubDate>
    <link>https://keygen.sh/blog/announcing-license-key-authentication/</link>
    <guid isPermaLink="true">https://keygen.sh/blog/announcing-license-key-authentication/</guid>
  </item>
  <item>
    <title>How to Safely Change the Argument Signature of a Sidekiq Job</title>
    <description>Learn how to safely change a Sidekiq job's argument signature.</description>
    <pubDate>Fri, 28 Jan 2022 06:00:00 GMT</pubDate>
    <link>https://keygen.sh/blog/how-to-change-the-signature-of-a-sidekiq-job/</link>
    <guid isPermaLink="true">https://keygen.sh/blog/how-to-change-the-signature-of-a-sidekiq-job/</guid>
  </item>
  <item>
    <title>How to Use Hexadecimal Ed25519 Public Keys in Node.js</title>
    <description>Learn how to use hexadecimal Ed25519 keys with Node's crypto module.</description>
    <pubDate>Fri, 28 Jan 2022 06:00:00 GMT</pubDate>
    <link>https://keygen.sh/blog/how-to-use-hexadecimal-ed25519-keys-in-node/</link>
    <guid isPermaLink="true">https://keygen.sh/blog/how-to-use-hexadecimal-ed25519-keys-in-node/</guid>
  </item>
  <item>
    <title>Why Freemium Pricing Is So Popular</title>
    <description>Freemium pricing is a business model that has seen a lot of success within startups. But why is that?</description>
    <pubDate>Mon, 07 Feb 2022 06:00:00 GMT</pubDate>
    <link>https://keygen.sh/blog/why-freemium-pricing-is-so-popular/</link>
    <guid isPermaLink="true">https://keygen.sh/blog/why-freemium-pricing-is-so-popular/</guid>
  </item>
  <item>
    <title>Announcing Cryptographic License Files</title>
    <description>Introducing a new, even easier way, to handle offline and air-gapped licensing with Keygen.</description>
    <pubDate>Mon, 04 Apr 2022 05:00:00 GMT</pubDate>
    <link>https://keygen.sh/blog/announcing-cryptographic-license-files/</link>
    <guid isPermaLink="true">https://keygen.sh/blog/announcing-cryptographic-license-files/</guid>
  </item>
  <item>
    <title>Upgrading Your Keygen API Integration From v1.0 to v1.1</title>
    <description>Learn how to safely upgrade your licensing integration from v1.0 to v1.1 of Keygen's API.</description>
    <pubDate>Wed, 01 Jun 2022 05:00:00 GMT</pubDate>
    <link>https://keygen.sh/blog/upgrading-from-v1-0-to-v1-1/</link>
    <guid isPermaLink="true">https://keygen.sh/blog/upgrading-from-v1-0-to-v1-1/</guid>
  </item>
  <item>
    <title>Move Fast and Break Things (Without Breaking Things)</title>
    <description>API design is hard. Learn how Keygen handles API versioning, and how we make changes even when that means breaking things.</description>
    <pubDate>Mon, 27 Jun 2022 05:00:00 GMT</pubDate>
    <link>https://keygen.sh/blog/breaking-things-without-breaking-things/</link>
    <guid isPermaLink="true">https://keygen.sh/blog/breaking-things-without-breaking-things/</guid>
  </item>
  <item>
    <title>How to Bulk Insert Nested Attributes in Rails</title>
    <description>Learn how to bulk insert nested attributes in Rails, rather than sequentially.</description>
    <pubDate>Tue, 02 Aug 2022 05:00:00 GMT</pubDate>
    <link>https://keygen.sh/blog/how-to-bulk-insert-nested-attributes-in-rails/</link>
    <guid isPermaLink="true">https://keygen.sh/blog/how-to-bulk-insert-nested-attributes-in-rails/</guid>
  </item>
  <item>
    <title>Announcing Advanced Roles and Permissions</title>
    <description>Introducing a new way for enterprises to secure their Keygen integrations.</description>
    <pubDate>Tue, 11 Oct 2022 05:00:00 GMT</pubDate>
    <link>https://keygen.sh/blog/announcing-advanced-roles-and-permissions/</link>
    <guid isPermaLink="true">https://keygen.sh/blog/announcing-advanced-roles-and-permissions/</guid>
  </item>
  <item>
    <title>All Your Licensing Are Belong To Us^W You</title>
    <description>Keygen, a software licensing and distribution API, goes open source.</description>
    <pubDate>Thu, 01 Jun 2023 05:00:00 GMT</pubDate>
    <link>https://keygen.sh/blog/all-your-licensing-are-belong-to-you/</link>
    <guid isPermaLink="true">https://keygen.sh/blog/all-your-licensing-are-belong-to-you/</guid>
  </item>
  <item>
    <title>That One Time Keygen Went Down for 5 Hours (Twice)</title>
    <description>A postmortem of the dashboard and API outage that occurred on February 5th and 6th, 2024.</description>
    <pubDate>Wed, 21 Feb 2024 06:00:00 GMT</pubDate>
    <link>https://keygen.sh/blog/that-one-time-keygen-went-down-for-5-hours-twice/</link>
    <guid isPermaLink="true">https://keygen.sh/blog/that-one-time-keygen-went-down-for-5-hours-twice/</guid>
  </item>
  <item>
    <title>Announcing Multi-User Licenses</title>
    <description>Introducing support for multi-user licenses in our software licensing API.</description>
    <pubDate>Mon, 29 Apr 2024 05:00:00 GMT</pubDate>
    <link>https://keygen.sh/blog/announcing-multi-user-licenses/</link>
    <guid isPermaLink="true">https://keygen.sh/blog/announcing-multi-user-licenses/</guid>
  </item>
  <item>
    <title>Your 14-Day Free Trial Ain't Gonna Cut It</title>
    <description>Ramblings about common free trial lengths and time-to-convert.</description>
    <pubDate>Fri, 03 May 2024 05:00:00 GMT</pubDate>
    <link>https://keygen.sh/blog/your-14-day-free-trial-aint-gonna-cut-it/</link>
    <guid isPermaLink="true">https://keygen.sh/blog/your-14-day-free-trial-aint-gonna-cut-it/</guid>
  </item>
  <item>
    <title>Keygen is now Fair Source</title>
    <description>Keygen relicenses from ELv2 to the Fair Core License.</description>
    <pubDate>Tue, 06 Aug 2024 05:00:00 GMT</pubDate>
    <link>https://keygen.sh/blog/keygen-is-now-fair-source/</link>
    <guid isPermaLink="true">https://keygen.sh/blog/keygen-is-now-fair-source/</guid>
  </item>
  <item>
    <title>Licensing is packaging</title>
    <description>On the first- and second-order effects of software licensing.</description>
    <pubDate>Mon, 02 Sep 2024 05:00:00 GMT</pubDate>
    <link>https://keygen.sh/blog/licensing-is-packaging/</link>
    <guid isPermaLink="true">https://keygen.sh/blog/licensing-is-packaging/</guid>
  </item>
  <item>
    <title>Keygen joins the Open Source Pledge</title>
    <description>Keygen is joining the Open Source Pledge, committing to donate at least $2,000 per-developer annually to support Open Source.</description>
    <pubDate>Mon, 09 Sep 2024 05:00:00 GMT</pubDate>
    <link>https://keygen.sh/blog/keygen-joins-osspledge/</link>
    <guid isPermaLink="true">https://keygen.sh/blog/keygen-joins-osspledge/</guid>
  </item>
  <item>
    <title>The problem with Open Core</title>
    <description>What does Open Core actually mean, and is it Open Source?</description>
    <pubDate>Tue, 17 Sep 2024 05:00:00 GMT</pubDate>
    <link>https://keygen.sh/blog/the-problem-with-open-core/</link>
    <guid isPermaLink="true">https://keygen.sh/blog/the-problem-with-open-core/</guid>
  </item>
  <item>
    <title>The real problem with Open Core</title>
    <description>Is Open Core really open, or is it abandonware?</description>
    <pubDate>Wed, 18 Sep 2024 05:00:00 GMT</pubDate>
    <link>https://keygen.sh/blog/the-real-problem-with-open-core/</link>
    <guid isPermaLink="true">https://keygen.sh/blog/the-real-problem-with-open-core/</guid>
  </item>
  <item>
    <title>You can't rely on people being good</title>
    <description>On the inherent risks of exploitation in commercial open source.</description>
    <pubDate>Tue, 01 Oct 2024 05:00:00 GMT</pubDate>
    <link>https://keygen.sh/blog/you-cant-rely-on-people-being-good/</link>
    <guid isPermaLink="true">https://keygen.sh/blog/you-cant-rely-on-people-being-good/</guid>
  </item>
  <item>
    <title>Source-available is meaningless</title>
    <description>On the multifaceted dishonesty in commercial open source.</description>
    <pubDate>Wed, 02 Oct 2024 05:00:00 GMT</pubDate>
    <link>https://keygen.sh/blog/source-available-is-meaningless/</link>
    <guid isPermaLink="true">https://keygen.sh/blog/source-available-is-meaningless/</guid>
  </item>
  <item>
    <title>Longevity, or abandonware?</title>
    <description>As a customer of an open core product, is the promise of longevity for you, or somebody else?</description>
    <pubDate>Wed, 30 Oct 2024 05:00:00 GMT</pubDate>
    <link>https://keygen.sh/blog/longevity-or-abandonware/</link>
    <guid isPermaLink="true">https://keygen.sh/blog/longevity-or-abandonware/</guid>
  </item>
  <item>
    <title>Don't die</title>
    <description>On the most important rule in SaaS: don't die.</description>
    <pubDate>Sun, 12 Jan 2025 06:00:00 GMT</pubDate>
    <link>https://keygen.sh/blog/dont-die/</link>
    <guid isPermaLink="true">https://keygen.sh/blog/dont-die/</guid>
  </item>
  <item>
    <title>No calls</title>
    <description>Enterprise sales don't have to be crazy.</description>
    <pubDate>Thu, 16 Jan 2025 06:00:00 GMT</pubDate>
    <link>https://keygen.sh/blog/no-calls/</link>
    <guid isPermaLink="true">https://keygen.sh/blog/no-calls/</guid>
  </item>
  <item>
    <title>Trailblazing</title>
    <description>On the impacts of technology and culture in startups and small business.</description>
    <pubDate>Fri, 31 Jan 2025 06:00:00 GMT</pubDate>
    <link>https://keygen.sh/blog/trailblazing/</link>
    <guid isPermaLink="true">https://keygen.sh/blog/trailblazing/</guid>
  </item>
  <item>
    <title>Locked-in</title>
    <description>On the risks of vendor lock-in and how to escape it.</description>
    <pubDate>Fri, 31 Jan 2025 06:00:00 GMT</pubDate>
    <link>https://keygen.sh/blog/locked-in/</link>
    <guid isPermaLink="true">https://keygen.sh/blog/locked-in/</guid>
  </item>
  <item>
    <title>Self-promotion</title>
    <description>On the mistakes new founders make when it comes to self-promotion online.</description>
    <pubDate>Mon, 03 Feb 2025 06:00:00 GMT</pubDate>
    <link>https://keygen.sh/blog/self-promotion/</link>
    <guid isPermaLink="true">https://keygen.sh/blog/self-promotion/</guid>
  </item>
  <item>
    <title>Time away</title>
    <description>On what matters — and taking time away as a founder.</description>
    <pubDate>Tue, 04 Feb 2025 06:00:00 GMT</pubDate>
    <link>https://keygen.sh/blog/time-away/</link>
    <guid isPermaLink="true">https://keygen.sh/blog/time-away/</guid>
  </item>
  <item>
    <title>The space elevator</title>
    <description>A short story on bootstrapping and startups.</description>
    <pubDate>Wed, 05 Feb 2025 06:00:00 GMT</pubDate>
    <link>https://keygen.sh/blog/the-space-elevator/</link>
    <guid isPermaLink="true">https://keygen.sh/blog/the-space-elevator/</guid>
  </item>
  <item>
    <title>Imposter syndrome</title>
    <description>On pushing through imposter syndrome and overcoming self-doubt as a founder.</description>
    <pubDate>Fri, 07 Feb 2025 06:00:00 GMT</pubDate>
    <link>https://keygen.sh/blog/imposter-syndrome/</link>
    <guid isPermaLink="true">https://keygen.sh/blog/imposter-syndrome/</guid>
  </item>
  <item>
    <title>The outlier paradox</title>
    <description>People seek certainty before they act, but becoming an outlier requires acting without it.</description>
    <pubDate>Tue, 11 Feb 2025 06:00:00 GMT</pubDate>
    <link>https://keygen.sh/blog/the-outlier-paradox/</link>
    <guid isPermaLink="true">https://keygen.sh/blog/the-outlier-paradox/</guid>
  </item>
  <item>
    <title>Weaponized Open Source</title>
    <description>On the best-kept secret of VC-backed "open source" startups.</description>
    <pubDate>Thu, 13 Feb 2025 06:00:00 GMT</pubDate>
    <link>https://keygen.sh/blog/weaponized-open-source/</link>
    <guid isPermaLink="true">https://keygen.sh/blog/weaponized-open-source/</guid>
  </item>
  <item>
    <title>Whither Open Source?</title>
    <description>On commercial open source and the future.</description>
    <pubDate>Wed, 19 Feb 2025 06:00:00 GMT</pubDate>
    <link>https://keygen.sh/blog/whither-open-source/</link>
    <guid isPermaLink="true">https://keygen.sh/blog/whither-open-source/</guid>
  </item>
  <item>
    <title>The lost art of giving a sh*t</title>
    <description>The internet is full of companies run by people who simply don't care.</description>
    <pubDate>Wed, 19 Feb 2025 06:00:00 GMT</pubDate>
    <link>https://keygen.sh/blog/the-lost-art-of-giving-a-sh-t/</link>
    <guid isPermaLink="true">https://keygen.sh/blog/the-lost-art-of-giving-a-sh-t/</guid>
  </item>
  <item>
    <title>Capitalism ≠ philanthropy</title>
    <description>What open source can learn from the climate change movement.</description>
    <pubDate>Mon, 03 Mar 2025 06:00:00 GMT</pubDate>
    <link>https://keygen.sh/blog/capitalism-philanthropy/</link>
    <guid isPermaLink="true">https://keygen.sh/blog/capitalism-philanthropy/</guid>
  </item>
  <item>
    <title>Unicorn dreams</title>
    <description>On daydreaming of unicorns and rocket ships.</description>
    <pubDate>Wed, 07 May 2025 05:00:00 GMT</pubDate>
    <link>https://keygen.sh/blog/unicorn-dreams/</link>
    <guid isPermaLink="true">https://keygen.sh/blog/unicorn-dreams/</guid>
  </item>
  <item>
    <title>In defense of linear</title>
    <description>On nearly exiting the elevator and losing sight of everything.</description>
    <pubDate>Tue, 13 May 2025 05:00:00 GMT</pubDate>
    <link>https://keygen.sh/blog/in-defense-of-linear/</link>
    <guid isPermaLink="true">https://keygen.sh/blog/in-defense-of-linear/</guid>
  </item>
  <item>
    <title>Steering the ship</title>
    <description>On building for users, not obeying them.</description>
    <pubDate>Fri, 16 May 2025 05:00:00 GMT</pubDate>
    <link>https://keygen.sh/blog/steering-the-ship/</link>
    <guid isPermaLink="true">https://keygen.sh/blog/steering-the-ship/</guid>
  </item>
  <item>
    <title>Give it time</title>
    <description>On borrowed time vs earned time.</description>
    <pubDate>Mon, 19 May 2025 05:00:00 GMT</pubDate>
    <link>https://keygen.sh/blog/give-it-time/</link>
    <guid isPermaLink="true">https://keygen.sh/blog/give-it-time/</guid>
  </item>
  <item>
    <title>It's okay to be selfish</title>
    <description>On selfishly building a business around you.</description>
    <pubDate>Tue, 20 May 2025 05:00:00 GMT</pubDate>
    <link>https://keygen.sh/blog/its-okay-to-be-selfish/</link>
    <guid isPermaLink="true">https://keygen.sh/blog/its-okay-to-be-selfish/</guid>
  </item>
  <item>
    <title>The arrival fallacy</title>
    <description>On the illusion that making it will be enough.</description>
    <pubDate>Thu, 05 Jun 2025 05:00:00 GMT</pubDate>
    <link>https://keygen.sh/blog/the-arrival-fallacy/</link>
    <guid isPermaLink="true">https://keygen.sh/blog/the-arrival-fallacy/</guid>
  </item>
  <item>
    <title>Burnout</title>
    <description>On the dark and chaotic road to understanding burnout</description>
    <pubDate>Thu, 07 Aug 2025 05:00:00 GMT</pubDate>
    <link>https://keygen.sh/blog/burnout/</link>
    <guid isPermaLink="true">https://keygen.sh/blog/burnout/</guid>
  </item>
  <item>
    <title>Self-sabotage</title>
    <description>On the tension between self-preservation and self-sabotage</description>
    <pubDate>Tue, 12 Aug 2025 05:00:00 GMT</pubDate>
    <link>https://keygen.sh/blog/self-sabotage/</link>
    <guid isPermaLink="true">https://keygen.sh/blog/self-sabotage/</guid>
  </item>
  <item>
    <title>Beautiful code</title>
    <description>On the beauty and artistry of code</description>
    <pubDate>Tue, 02 Sep 2025 05:00:00 GMT</pubDate>
    <link>https://keygen.sh/blog/beautiful-code/</link>
    <guid isPermaLink="true">https://keygen.sh/blog/beautiful-code/</guid>
  </item>
  <item>
    <title>Price so it's interesting</title>
    <description>On aligning price with value, and product with market.</description>
    <pubDate>Fri, 05 Sep 2025 05:00:00 GMT</pubDate>
    <link>https://keygen.sh/blog/price-so-its-interesting/</link>
    <guid isPermaLink="true">https://keygen.sh/blog/price-so-its-interesting/</guid>
  </item>
  <item>
    <title>Expressions</title>
    <description>On changing tools, and why human expression will endure.</description>
    <pubDate>Wed, 10 Sep 2025 05:00:00 GMT</pubDate>
    <link>https://keygen.sh/blog/expressions/</link>
    <guid isPermaLink="true">https://keygen.sh/blog/expressions/</guid>
  </item>
  <item>
    <title>Announcing ECDSA P-256 support</title>
    <description>Introducing support for ECDSA P-256, a NIST-approved algorithm offering smaller signatures, faster verification, and FIPS 140-3 compliance.</description>
    <pubDate>Wed, 24 Sep 2025 05:00:00 GMT</pubDate>
    <link>https://keygen.sh/blog/announcing-ecdsa-p256/</link>
    <guid isPermaLink="true">https://keygen.sh/blog/announcing-ecdsa-p256/</guid>
  </item>
  <item>
    <title>Announcing support for memory and disk consumption</title>
    <description>Introducing support for machine memory and disk consumption and enforcement.</description>
    <pubDate>Thu, 25 Sep 2025 05:00:00 GMT</pubDate>
    <link>https://keygen.sh/blog/announcing-memory-and-disk-consumption/</link>
    <guid isPermaLink="true">https://keygen.sh/blog/announcing-memory-and-disk-consumption/</guid>
  </item>
  <item>
    <title>Luck is a harsh mistress</title>
    <description>On Games of Luck, Games of Skill, and the Game of Life.</description>
    <pubDate>Fri, 07 Nov 2025 06:00:00 GMT</pubDate>
    <link>https://keygen.sh/blog/luck-is-a-harsh-mistress/</link>
    <guid isPermaLink="true">https://keygen.sh/blog/luck-is-a-harsh-mistress/</guid>
  </item>
  <item>
    <title>Why fair source matters</title>
    <description>On the meaning of "open source" and a path forward.</description>
    <pubDate>Wed, 10 Dec 2025 06:00:00 GMT</pubDate>
    <link>https://keygen.sh/blog/why-fair-source-matters/</link>
    <guid isPermaLink="true">https://keygen.sh/blog/why-fair-source-matters/</guid>
  </item>
  <item>
    <title>Reconsider</title>
    <description>On the discipline of thinking, debating, and reconsidering before committing.</description>
    <pubDate>Thu, 11 Dec 2025 06:00:00 GMT</pubDate>
    <link>https://keygen.sh/blog/reconsider/</link>
    <guid isPermaLink="true">https://keygen.sh/blog/reconsider/</guid>
  </item>
  <item>
    <title>Escapism</title>
    <description>On escapism and the endless burnout-crash loop.</description>
    <pubDate>Tue, 16 Dec 2025 06:00:00 GMT</pubDate>
    <link>https://keygen.sh/blog/escapism/</link>
    <guid isPermaLink="true">https://keygen.sh/blog/escapism/</guid>
  </item>
  <item>
    <title>Keygen continues the Open Source Pledge</title>
    <description>Keygen continues their commitment to the Open Source Pledge, committing to donate at least $2,000 per-developer annually to support Open Source.</description>
    <pubDate>Tue, 30 Dec 2025 06:00:00 GMT</pubDate>
    <link>https://keygen.sh/blog/keygen-continues-osspledge/</link>
    <guid isPermaLink="true">https://keygen.sh/blog/keygen-continues-osspledge/</guid>
  </item>
  <item>
    <title>Catapults don't build castles</title>
    <description>On the allure of luck and the myth of virality.</description>
    <pubDate>Thu, 01 Jan 2026 06:00:00 GMT</pubDate>
    <link>https://keygen.sh/blog/catapults-dont-build-castles/</link>
    <guid isPermaLink="true">https://keygen.sh/blog/catapults-dont-build-castles/</guid>
  </item>
  <item>
    <title>Is success just luck?</title>
    <description>On success, agency, and how we misattribute luck.</description>
    <pubDate>Fri, 02 Jan 2026 06:00:00 GMT</pubDate>
    <link>https://keygen.sh/blog/is-success-just-luck/</link>
    <guid isPermaLink="true">https://keygen.sh/blog/is-success-just-luck/</guid>
  </item>
  <item>
    <title>SaaS is not dead</title>
    <description>On the fundamentals of build vs buy.</description>
    <pubDate>Tue, 13 Jan 2026 06:00:00 GMT</pubDate>
    <link>https://keygen.sh/blog/saas-is-not-dead/</link>
    <guid isPermaLink="true">https://keygen.sh/blog/saas-is-not-dead/</guid>
  </item>
  <item>
    <title>Golden tickets</title>
    <description>On golden tickets, shortcuts, and sustainable business growth.</description>
    <pubDate>Fri, 16 Jan 2026 06:00:00 GMT</pubDate>
    <link>https://keygen.sh/blog/golden-tickets/</link>
    <guid isPermaLink="true">https://keygen.sh/blog/golden-tickets/</guid>
  </item>
  <item>
    <title>AI helped me through burnout (but not how you think)</title>
    <description>On escaping burnout in The New Age.</description>
    <pubDate>Mon, 19 Jan 2026 06:00:00 GMT</pubDate>
    <link>https://keygen.sh/blog/ai-helped-me-through-burnout/</link>
    <guid isPermaLink="true">https://keygen.sh/blog/ai-helped-me-through-burnout/</guid>
  </item>
  <item>
    <title>Keygen is now SOC 2 Type II compliant</title>
    <description>Announcing SOC 2 Type II compliance for Keygen Cloud.</description>
    <pubDate>Mon, 26 Jan 2026 06:00:00 GMT</pubDate>
    <link>https://keygen.sh/blog/keygen-is-now-soc2-compliant/</link>
    <guid isPermaLink="true">https://keygen.sh/blog/keygen-is-now-soc2-compliant/</guid>
  </item>
  <item>
    <title>System tests</title>
    <description>On the irreplaceability of system tests.</description>
    <pubDate>Mon, 09 Feb 2026 06:00:00 GMT</pubDate>
    <link>https://keygen.sh/blog/system-tests/</link>
    <guid isPermaLink="true">https://keygen.sh/blog/system-tests/</guid>
  </item>
  <item>
    <title>Value extraction</title>
    <description>On doom-peddlers and the Gold Rush of the New Age.</description>
    <pubDate>Wed, 18 Feb 2026 06:00:00 GMT</pubDate>
    <link>https://keygen.sh/blog/value-extraction/</link>
    <guid isPermaLink="true">https://keygen.sh/blog/value-extraction/</guid>
  </item>
</channel>
</rss>