<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Ersel ÇAKMAK — Engineering Notes</title>
    <link>https://erselcakmak.com/articles</link>
    <atom:link href="https://erselcakmak.com/feed.xml" rel="self" type="application/rss+xml" />
    <description>Practical notes about WPF, CAD, .NET, native interop, graphics, and production debugging.</description>
    <language>en</language>
    <lastBuildDate>Mon, 14 Sep 2026 00:00:00 GMT</lastBuildDate>
    <item>
      <title>When Undo/Redo Stops Scaling: Transactional History for Object Graphs</title>
      <link>https://erselcakmak.com/articles/transactional-undo-redo-for-object-graphs</link>
      <guid isPermaLink="true">https://erselcakmak.com/articles/transactional-undo-redo-for-object-graphs</guid>
      <pubDate>Mon, 14 Sep 2026 00:00:00 GMT</pubDate>
      <category>Software Architecture</category>
      <description>A practical architecture guide to snapshot and command-based undo/redo, copy-on-write graph transactions, mutation boundaries, rollback, shared resources, and the management trade-offs of scaling editor history.</description>
    </item>
    <item>
      <title>When a PNG Can Crash a WPF Application</title>
      <link>https://erselcakmak.com/articles/when-a-png-crashes-a-wpf-application</link>
      <guid isPermaLink="true">https://erselcakmak.com/articles/when-a-png-crashes-a-wpf-application</guid>
      <pubDate>Tue, 01 Sep 2026 00:00:00 GMT</pubDate>
      <category>Desktop Engineering</category>
      <description>A practical WPF debugging case study about BitmapImage ICC color profile failures, environment-specific OverflowException crashes, narrow IgnoreColorProfile fallback, and XAML image-loading gaps.</description>
    </item>
    <item>
      <title>When try/catch Isn&apos;t Enough: Isolating Native Crashes with a Worker Process</title>
      <link>https://erselcakmak.com/articles/isolating-native-crashes-with-a-worker-process</link>
      <guid isPermaLink="true">https://erselcakmak.com/articles/isolating-native-crashes-with-a-worker-process</guid>
      <pubDate>Thu, 27 Aug 2026 00:00:00 GMT</pubDate>
      <category>Software Architecture</category>
      <description>An architecture guide to protecting .NET desktop applications from native access violations, corrupted process state, and hangs by isolating risky work in a one-shot worker process over Named Pipes.</description>
    </item>
    <item>
      <title>When a 20 GB Memory Spike Wasn&apos;t a .NET Leak</title>
      <link>https://erselcakmak.com/articles/debugging-an-intel-arc-driver-memory-regression</link>
      <guid isPermaLink="true">https://erselcakmak.com/articles/debugging-an-intel-arc-driver-memory-regression</guid>
      <pubDate>Wed, 26 Aug 2026 00:00:00 GMT</pubDate>
      <category>CAD, Graphics &amp; AI</category>
      <description>A debugging case study about isolating an Intel Arc A750 graphics driver regression in a WPF 3D application through memory telemetry, driver comparison, and a minimal reproduction project.</description>
    </item>
    <item>
      <title>Copy/Paste Is a Graph Problem</title>
      <link>https://erselcakmak.com/articles/copy-paste-is-a-graph-problem</link>
      <guid isPermaLink="true">https://erselcakmak.com/articles/copy-paste-is-a-graph-problem</guid>
      <pubDate>Tue, 25 Aug 2026 00:00:00 GMT</pubDate>
      <category>Software Architecture</category>
      <description>An architecture lesson on graph-aware copy and paste for polymorphic editors, covering identity remapping, reference policies, versioned payloads, placement transforms, and focused tests.</description>
    </item>
    <item>
      <title>WPF Single Instance Activation with Mutex, Named Pipes, and a Fallback Queue</title>
      <link>https://erselcakmak.com/articles/making-single-instance-activation-reliable-in-a-wpf-app</link>
      <guid isPermaLink="true">https://erselcakmak.com/articles/making-single-instance-activation-reliable-in-a-wpf-app</guid>
      <pubDate>Thu, 18 Jun 2026 00:00:00 GMT</pubDate>
      <category>Desktop Engineering</category>
      <description>A practical .NET WPF pattern for reliable single-instance activation using a mutex, named pipes, timeout handling, and a queued fallback.</description>
    </item>
    <item>
      <title>Moving Desktop Crash Report Delivery Behind an API Boundary</title>
      <link>https://erselcakmak.com/articles/why-i-moved-mail-sending-behind-an-api</link>
      <guid isPermaLink="true">https://erselcakmak.com/articles/why-i-moved-mail-sending-behind-an-api</guid>
      <pubDate>Tue, 09 Jun 2026 00:00:00 GMT</pubDate>
      <category>Software Architecture</category>
      <description>Why crash and suggestion delivery in a .NET desktop app should use a stable API boundary instead of SMTP details embedded in released clients.</description>
    </item>
    <item>
      <title>Adding AI Render Variations to a CAD Workflow</title>
      <link>https://erselcakmak.com/articles/adding-ai-render-variations-to-a-cad-application</link>
      <guid isPermaLink="true">https://erselcakmak.com/articles/adding-ai-render-variations-to-a-cad-application</guid>
      <pubDate>Mon, 04 May 2026 00:00:00 GMT</pubDate>
      <category>CAD, Graphics &amp; AI</category>
      <description>A practical .NET architecture for AI rendering from imported CAD scenes while keeping geometry, proportions, camera framing, and layout fixed across image providers.</description>
    </item>
    <item>
      <title>Saving and Loading Desktop Templates With Protobuf</title>
      <link>https://erselcakmak.com/articles/saving-and-loading-templates-with-protobuf</link>
      <guid isPermaLink="true">https://erselcakmak.com/articles/saving-and-loading-templates-with-protobuf</guid>
      <pubDate>Tue, 28 Apr 2026 00:00:00 GMT</pubDate>
      <category>Desktop Engineering</category>
      <description>A practical .NET pattern for serializing desktop template files with Protobuf, loading the selected template at startup, and saving changes safely.</description>
    </item>
  </channel>
</rss>