<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
  <channel>
    <title>TwoPoint’s Blog</title>
    <description>A blog about programming, mostly functional</description>
    <link>https://twopoint.dev/</link>
    <item>
      <title>Danger lurks in System.Linq.Enumerable's "OrDefault" functions</title>
      <link>https://twopoint.dev/posts/danger-lurks-in-system-linq-enumerable-or-default-functions/</link>
      <guid isPermaLink="true">https://twopoint.dev/posts/danger-lurks-in-system-linq-enumerable-or-default-functions/</guid>
      <description>In this post, we'll look at how my misunderstanding of a very important concept in .NET nearly led to disastrous results in our codebase.</description>
      <pubDate>Wed, 04 Feb 2026 13:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Smatterings of F#</title>
      <link>https://twopoint.dev/posts/smatterings-of-fsharp/</link>
      <guid isPermaLink="true">https://twopoint.dev/posts/smatterings-of-fsharp/</guid>
      <description>In this talk, we'll see how important it is to have an itch and find ways to scratch it by looking at mine - F#! I hope to inspire any developer to find what their itch is and scratch it!</description>
      <pubDate>Fri, 14 Nov 2025 01:30:00 GMT</pubDate>
    </item>
    <item>
      <title>Functional architecture in C#: a case study</title>
      <link>https://twopoint.dev/posts/functional-architecture-in-csharp-a-case-study/</link>
      <guid isPermaLink="true">https://twopoint.dev/posts/functional-architecture-in-csharp-a-case-study/</guid>
      <description>As part of my .NET Conf 2025 talk, I wanted to address C# developers as well as C# developers who would rather be writing F#. This post is for that crowd.</description>
      <pubDate>Mon, 03 Nov 2025 14:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Functional programming: more than just a coding style</title>
      <link>https://twopoint.dev/posts/functional-programming-more-than-just-a-coding-style/</link>
      <guid isPermaLink="true">https://twopoint.dev/posts/functional-programming-more-than-just-a-coding-style/</guid>
      <description>In this talk, we'll walk through five key learnings from my journey learning functional programming -- five fundamental approaches to building software that I believe make a strong case for the value in learning, applying, and teaching functional programming.</description>
      <pubDate>Thu, 24 Jul 2025 13:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Contributing to the F# Open Source ecosystem</title>
      <link>https://twopoint.dev/posts/contributing-to-the-fsharp-open-source-ecosystem/</link>
      <guid isPermaLink="true">https://twopoint.dev/posts/contributing-to-the-fsharp-open-source-ecosystem/</guid>
      <description>Every path to becoming an open source contributor is unique. In this session, Matt will describe how he approached the challenge.</description>
      <pubDate>Fri, 11 Apr 2025 13:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Why the F# would I write real code like this?</title>
      <link>https://twopoint.dev/posts/why-the-fsharp-would-i-write-real-code-like-this/</link>
      <guid isPermaLink="true">https://twopoint.dev/posts/why-the-fsharp-would-i-write-real-code-like-this/</guid>
      <description>Come along for a story of how I grappled with that very question along my own journey of learning functional programming</description>
      <pubDate>Thu, 19 Dec 2024 14:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Fable Reminders - Part 2</title>
      <link>https://twopoint.dev/posts/fable-reminders-part-2/</link>
      <guid isPermaLink="true">https://twopoint.dev/posts/fable-reminders-part-2/</guid>
      <description>Build a reminders app completely in F#. In part 2, we model our domain using F#'s algebraic data types, bootstrap our application using Elmish, and take a deeper look at some functional programming concepts along the way.</description>
      <pubDate>Fri, 15 Nov 2024 14:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Fable Reminders - Part 1</title>
      <link>https://twopoint.dev/posts/fable-reminders-part-1/</link>
      <guid isPermaLink="true">https://twopoint.dev/posts/fable-reminders-part-1/</guid>
      <description>Build a reminders app completely in F#. In part 1, we get our base project setup so we're ready to hit the ground running building in F#!</description>
      <pubDate>Fri, 01 Nov 2024 13:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Securely save a SwiftUI view as a password-protected PDF</title>
      <link>https://twopoint.dev/posts/securely-save-a-swiftui-view-as-a-password-protected-pdf/</link>
      <guid isPermaLink="true">https://twopoint.dev/posts/securely-save-a-swiftui-view-as-a-password-protected-pdf/</guid>
      <description>In order to develop the secure PDF seed phrase backup feature for Nighthawk Wallet 2.0, I needed to figure out how to render a SwiftUI view as a PDF and password protect it with a user-supplied password. In this guide, I share what I learned.</description>
      <pubDate>Wed, 20 Dec 2023 14:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Nighthawk's Roadmap for Zcash with Aditya Bharadwaj and Matthew Watt: Zcon4</title>
      <link>https://twopoint.dev/posts/nighthawks-roadmap-for-zcash-with-aditya-bharadwaj-and-matthew-watt-zcon4/</link>
      <guid isPermaLink="true">https://twopoint.dev/posts/nighthawks-roadmap-for-zcash-with-aditya-bharadwaj-and-matthew-watt-zcon4/</guid>
      <description>A roadmap for Zcash by Nighthawk Apps, expanding on the roadmap shared in January 2023 and benefits of delivering a mobile-first experience to end-users.</description>
      <pubDate>Tue, 01 Aug 2023 13:00:00 GMT</pubDate>
    </item>
  </channel>
</rss>