<rss version="2.0.1">
<channel>
<title>Hashset</title>
<link>https://hashset.dev</link>
<description>Technical blogging mostly about functional programming. Hoping to write tutorials on how to accomplish various things.</description>
<language>en</language>
<copyright>Kai Ito</copyright>
<generator>Blogatto</generator>
<item>
<title>Reflecting on deserialization. Why you should explicitly decode your JSON.</title>
<description>Reflecting on deserialization. Why you should explicitly decode your JSON.JSON is everywhere. As developers, we will be required to work with it at some point or another. Maybe in the embedded space</description>
<link>/article/2026/03/21/reflecting-on-deserialization-why-you-should-explicitly-decode-your-json/</link>
<pubDate>Sat, 21 Mar 2026 00:00:00 GMT</pubDate>
<guid isPermaLink="true">/article/2026/03/21/reflecting-on-deserialization-why-you-should-explicitly-decode-your-json/</guid>
</item>
<item>
<title>Use Gleam to implement a Socket.IO server on Deno</title>
<description>Use Gleam to implement a Socket.IO server on DenoEvery now and then someone approaches you with a simple idea where you wonder how simple it would be to implement, but also lets your creative juices</description>
<link>/article/2025/07/20/use-gleam-to-implement-a-socket-io-server-on-deno/</link>
<pubDate>Sun, 20 Jul 2025 00:00:00 GMT</pubDate>
<guid isPermaLink="true">/article/2025/07/20/use-gleam-to-implement-a-socket-io-server-on-deno/</guid>
</item>
<item>
<title>WTF is &quot;more expressive code&quot;</title>
<description>Originally posted on https://iits-consulting.de/blog/what-is-more-expressive-codeWTF is &amp;quot;more expressive code&amp;quot;Throughout various discussions about differences between programming languages</description>
<link>/article/2025/04/06/wtf-is-more-expressive-code/</link>
<pubDate>Sun, 06 Apr 2025 00:00:00 GMT</pubDate>
<guid isPermaLink="true">/article/2025/04/06/wtf-is-more-expressive-code/</guid>
</item>
<item>
<title>Protect your ASP.NET site using FIDO2 Passkeys</title>
<description>This year&amp;#39;s entry to Sergey Tihon&amp;#39;s F# advent calendar. Thanks again :)Protect your ASP.NET site using FIDO2 PasskeysLast time we learned how to protect ASP.NET sites using Bitwarden&amp;#39;s</description>
<link>/article/2024/12/11/protect-your-asp-net-site-using-fido2-passkeys/</link>
<pubDate>Wed, 11 Dec 2024 00:00:00 GMT</pubDate>
<guid isPermaLink="true">/article/2024/12/11/protect-your-asp-net-site-using-fido2-passkeys/</guid>
</item>
<item>
<title>Protect your ASP.NET site using Passkey&#39;s via the Passwordless service</title>
<description>Protect your ASP.NET site using Passkey&amp;#39;s via the Passwordless serviceWebAuthn is a relatively new standard for authenticating users and is an incredibly secure way to authenticate users by being</description>
<link>/article/2024/03/21/protect-your-asp-net-site-using-passkeys-via-the-passwordless-service/</link>
<pubDate>Thu, 21 Mar 2024 00:00:00 GMT</pubDate>
<guid isPermaLink="true">/article/2024/03/21/protect-your-asp-net-site-using-passkeys-via-the-passwordless-service/</guid>
</item>
<item>
<title>Protect your ASP.NET site using Supabase authentication</title>
<description>Protect your ASP.NET site using Supabase authenticationNow that the pendulum is slowly swinging back towards classic plain HTML web servers, we can also simplify our authentication strategies.</description>
<link>/article/2024/02/20/protect-your-asp-net-site-using-supabase-authentication/</link>
<pubDate>Tue, 20 Feb 2024 00:00:00 GMT</pubDate>
<guid isPermaLink="true">/article/2024/02/20/protect-your-asp-net-site-using-supabase-authentication/</guid>
</item>
<item>
<title>HTMX, WebSockets, SignalR and you</title>
<description>This year&amp;#39;s entry to Sergey Tihon&amp;#39;s F# advent calendar. Thanks again :)HTMX, WebSockets, SignalR and youThis year was in interesting one in the web frontend space. The endless releases of</description>
<link>/article/2023/12/31/htmx-websockets-signalr-and-you/</link>
<pubDate>Sun, 31 Dec 2023 00:00:00 GMT</pubDate>
<guid isPermaLink="true">/article/2023/12/31/htmx-websockets-signalr-and-you/</guid>
</item>
<item>
<title>Derailing gracefully with Railway Oriented Programming</title>
<description>Derailing gracefully with Railway Oriented ProgrammingWhen learning F#, at some point you&amp;#39;ll come across the concept of Railway Oriented Programming (ROP). It&amp;#39;s primarily a technique used for</description>
<link>/article/2023/08/28/derailing-gracefully-with-railway-oriented-programming/</link>
<pubDate>Mon, 28 Aug 2023 00:00:00 GMT</pubDate>
<guid isPermaLink="true">/article/2023/08/28/derailing-gracefully-with-railway-oriented-programming/</guid>
</item>
<item>
<title>F# in strange places: Supabase edge functions</title>
<description>This is my entry for the F# Advent Calendar 2022. Thank you Sergey Tihon for organizing it.F# in strange places: Supabase edge functionsWe&amp;#39;re all big fans of F#, otherwise you wouldn&amp;#39;t be</description>
<link>/article/2022/12/31/f-in-strange-places-supabase-edge-functions/</link>
<pubDate>Sat, 31 Dec 2022 00:00:00 GMT</pubDate>
<guid isPermaLink="true">/article/2022/12/31/f-in-strange-places-supabase-edge-functions/</guid>
</item>
<item>
<title>Let&#39;s write Fable bindings for a JS library</title>
<description>Let&amp;#39;s write Fable bindings for a JS libraryWriting fable bindings is easier than many people think it is, but still require a time investment depending on how much of the API of a</description>
<link>/article/2022/02/02/lets-write-fable-bindings-for-a-js-library/</link>
<pubDate>Wed, 02 Feb 2022 00:00:00 GMT</pubDate>
<guid isPermaLink="true">/article/2022/02/02/lets-write-fable-bindings-for-a-js-library/</guid>
</item>
<item>
<title>Using Sutil to develop a real world application</title>
<description>Using Sutil to develop a real world applicationThis is my entry for the F# Advent Calendar 2021. Thank you Sergey Tihon for organizing it. This post will explore building a small demo application</description>
<link>/article/2021/12/31/using-sutil-to-develop-a-real-world-application/</link>
<pubDate>Fri, 31 Dec 2021 00:00:00 GMT</pubDate>
<guid isPermaLink="true">/article/2021/12/31/using-sutil-to-develop-a-real-world-application/</guid>
</item>
<item>
<title>Managing your client connections in SignalR, including with authentication</title>
<description>Managing your client connections in SignalR, including with authenticationAlthough this post is written with a focus on using F# and Fable.SignalR, the concepts talked about are applicable to SignalR</description>
<link>/article/2021/07/09/managing-your-client-connections-in-signalr-including-with-authentication/</link>
<pubDate>Fri, 09 Jul 2021 00:00:00 GMT</pubDate>
<guid isPermaLink="true">/article/2021/07/09/managing-your-client-connections-in-signalr-including-with-authentication/</guid>
</item>
<item>
<title>Improving Real-time communication using Fable.SignalR</title>
<description>Improving Real-time communication using Fable.SignalRThis is a continuation of my previous blog post about real-time communication with Giraffe and Fabulous. Reading the other article is not required</description>
<link>/article/2020/12/31/improving-real-time-communication-using-fable-signalr/</link>
<pubDate>Thu, 31 Dec 2020 00:00:00 GMT</pubDate>
<guid isPermaLink="true">/article/2020/12/31/improving-real-time-communication-using-fable-signalr/</guid>
</item>
<item>
<title>Real-time communication with Giraffe and Fabulous</title>
<description>Real-time communication with Giraffe and FabulousReal-time communication can make any application that much more interactive. Whether it be a simple chat application, or other notifications that are</description>
<link>/article/2020/10/25/real-time-communication-with-giraffe-and-fabulous/</link>
<pubDate>Sun, 25 Oct 2020 00:00:00 GMT</pubDate>
<guid isPermaLink="true">/article/2020/10/25/real-time-communication-with-giraffe-and-fabulous/</guid>
</item>
<item>
<title>Test your UI by treating it as a state machine</title>
<description>Test your UI by treating it as a state machineI want to introduce a state machine testing library for .Net called Scrutiny. You can get it from NuGet here. It aims to allow random testing of state</description>
<link>/article/2020/07/01/test-your-ui-by-treating-it-as-a-state-machine/</link>
<pubDate>Wed, 01 Jul 2020 00:00:00 GMT</pubDate>
<guid isPermaLink="true">/article/2020/07/01/test-your-ui-by-treating-it-as-a-state-machine/</guid>
</item>
<item>
<title>My experience with the F# Mentorship program</title>
<description>My experience with the F# Mentorship programWhat is itThe Winter 2020 round of the F# mentorship program is now over. I participated as a mentor, and wanted to share my experience. The mentorship</description>
<link>/article/2020/04/30/my-experience-with-the-f-mentorship-program/</link>
<pubDate>Thu, 30 Apr 2020 00:00:00 GMT</pubDate>
<guid isPermaLink="true">/article/2020/04/30/my-experience-with-the-f-mentorship-program/</guid>
</item>
<item>
<title>Privacy respecting analytics using GoAccess</title>
<description>Privacy respecting analytics using GoAccessSince I bought my own domain, and rent a server to host this blog, I&amp;#39;ve been meaning to add some kind of analytics. But in the interest of user privacy,</description>
<link>/article/2020/01/28/privacy-respecting-analytics-using-goaccess/</link>
<pubDate>Tue, 28 Jan 2020 00:00:00 GMT</pubDate>
<guid isPermaLink="true">/article/2020/01/28/privacy-respecting-analytics-using-goaccess/</guid>
</item>
<item>
<title>Type safe SQL Queries using Rezoom.SQL</title>
<description>Type safe SQL Queries using Rezoom.SQLThis is my F# Advent Calendar 2019 entry. Last year I wrote about Fable React and Preact, but this year I want to write about data access, a topic that</description>
<link>/article/2019/12/15/type-safe-sql-queries-using-rezoom-sql/</link>
<pubDate>Sun, 15 Dec 2019 00:00:00 GMT</pubDate>
<guid isPermaLink="true">/article/2019/12/15/type-safe-sql-queries-using-rezoom-sql/</guid>
</item>
<item>
<title>Recursively replacing parts of a URL</title>
<description>Recursively replacing parts of a URLI’m slowly building a .Net Core global tool to do some REST API testing. One idea I had for this project was to be able to generate multiple URLs with different</description>
<link>/article/2019/04/09/recursively-replacing-parts-of-a-url/</link>
<pubDate>Tue, 09 Apr 2019 00:00:00 GMT</pubDate>
<guid isPermaLink="true">/article/2019/04/09/recursively-replacing-parts-of-a-url/</guid>
</item>
<item>
<title>Fable React is nice. But what about Fable Preact</title>
<description>Fable React is nice. But what about Fable PreactThis is my entry for the F# Advent Calendar 2018. I’ve been doing full-stack .Net web development for ~6 years now, and I learned F# ~3 years ago. In</description>
<link>/article/2018/12/31/fable-react-is-nice-but-what-about-fable-preact/</link>
<pubDate>Mon, 31 Dec 2018 00:00:00 GMT</pubDate>
<guid isPermaLink="true">/article/2018/12/31/fable-react-is-nice-but-what-about-fable-preact/</guid>
</item>
<item>
<title>User Defined Function (UDF) in SQLite and casting an F# function to a Func object</title>
<description>User Defined Function (UDF) in SQLite and casting an F# function to a Func objectI ran into an interesting problem recently. The task was to search for something within a SQLite database by comparing</description>
<link>/article/2018/11/17/user-defined-function-udf-in-sqlite-and-casting-an-f-function-to-a-func-object/</link>
<pubDate>Sat, 17 Nov 2018 00:00:00 GMT</pubDate>
<guid isPermaLink="true">/article/2018/11/17/user-defined-function-udf-in-sqlite-and-casting-an-f-function-to-a-func-object/</guid>
</item>
<item>
<title>Recursive Async</title>
<description>Recursive AsyncThere was recently a project I was working on that required a recursive call. The problem was, that the function returned an async workflow, and in my inexperience, I was running into</description>
<link>/article/2018/11/15/recursive-async/</link>
<pubDate>Thu, 15 Nov 2018 00:00:00 GMT</pubDate>
<guid isPermaLink="true">/article/2018/11/15/recursive-async/</guid>
</item>
<item>
<title>Power of Active Patterns</title>
<description>Power of Active PatternsI’ve been working on a dotnet core global tool. One of the things that such a tool has, is many command line options. I found Argu to parse these command line options. However</description>
<link>/article/2018/11/11/power-of-active-patterns/</link>
<pubDate>Sun, 11 Nov 2018 00:00:00 GMT</pubDate>
<guid isPermaLink="true">/article/2018/11/11/power-of-active-patterns/</guid>
</item></channel>
</rss>