<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Blog on Erwan Joly</title>
    <link>/blog/</link>
    <description>Recent content in Blog on Erwan Joly</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Sun, 12 Jul 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="/blog/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Cron Is Stateless. Your Mortgage Isn&#39;t.</title>
      <link>/blog/cron-is-stateless-your-mortgage-isnt/</link>
      <pubDate>Sun, 12 Jul 2026 00:00:00 +0000</pubDate>
      <guid>/blog/cron-is-stateless-your-mortgage-isnt/</guid>
      <description>Why cron can&amp;#39;t express &amp;#39;every second Friday&amp;#39;, why that&amp;#39;s a feature and not a bug, and why I ended up replacing cron with RFC 5545 RRULEs in WealthRelay - then open-sourcing a React form to edit them.</description>
    </item>
    <item>
      <title>Risk Is a Terrible Word for Volatility</title>
      <link>/blog/risk-is-a-terrible-word-for-volatility/</link>
      <pubDate>Sun, 12 Jul 2026 00:00:00 +0000</pubDate>
      <guid>/blog/risk-is-a-terrible-word-for-volatility/</guid>
      <description>Finance says &amp;#39;risk&amp;#39; and means &amp;#39;standard deviation&amp;#39;. Everyone else hears &amp;#39;chance of losing everything&amp;#39;. That one mistranslation makes cash look safe, index funds look like gambling, and a yen look calmer than it is - depending on where you&amp;#39;re standing.</description>
    </item>
    <item>
      <title>Account Pre-Hijacking: Two Variants the Industry Keeps Confusing</title>
      <link>/blog/sso-account-prehijacking/</link>
      <pubDate>Thu, 18 Jun 2026 00:00:00 +0000</pubDate>
      <guid>/blog/sso-account-prehijacking/</guid>
      <description>Account pre-hijacking is not one attack: it&amp;#39;s two, with very different preconditions and severity. Here&amp;#39;s how to tell them apart, why triagers keep getting it wrong, and how to reproduce both from scratch.</description>
    </item>
    <item>
      <title>Auto-Generate React Forms from a HotChocolate GraphQL Schema</title>
      <link>/blog/hotchocolate-graphql-to-react-form/</link>
      <pubDate>Thu, 01 Sep 2022 00:00:00 +0000</pubDate>
      <guid>/blog/hotchocolate-graphql-to-react-form/</guid>
      <description>Turn any GraphQL mutation or query into a rendered React form using schema introspection, graphql-to-json-schema, and react-jsonschema-form - no hand-written UI per operation.</description>
    </item>
    <item>
      <title>HotChocolate: Sync Validation Rules to the Frontend via GraphQL Directives</title>
      <link>/blog/hotchocolate-validation-attributes/</link>
      <pubDate>Wed, 31 Aug 2022 00:00:00 +0000</pubDate>
      <guid>/blog/hotchocolate-validation-attributes/</guid>
      <description>How to expose .NET ValidationAttributes as GraphQL schema directives and generate matching Yup validators automatically - so the frontend never drifts from the backend rules.</description>
    </item>
  </channel>
</rss>
