<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title>victoradan.net</title>
<link>https://victoradan.net/posts</link>
<description>Posts from victoradan.net</description>
<language>en-US</language>
<webMaster>contact@victoradan.net</webMaster>
<docs>https://www.rssboard.org/rss-specification</docs>
<generator>pandoc-rss</generator>
<item>
<title>A favorite C# pattern</title>
<pubDate>Sun, 23 Apr 2023 00:00:00 +0000</pubDate>
<guid>https://victoradan.net/posts/csharp-favorite-pattern</guid>
<description><![CDATA[Nulls and Exceptions, a horrific but most popular combination in C#.]]></description>
</item>
<item>
<title>Deceitful Contracts - Fix with Church-encoded Sum Types</title>
<pubDate>Wed, 17 May 2023 00:00:00 +0000</pubDate>
<guid>https://victoradan.net/posts/deceitful-contracts-2-church-encoding</guid>
<description><![CDATA[C# does not support sum types, which are commonly used to encode failure at the type level in statically typed functional languages. So in C#, how can we encode failure in the type system in order to keep our functions total and our signatures true (rather than throw exceptions and perforate our information pipelines in the process, making them as air tight as a strainer)?]]></description>
</item>
<item>
<title>Deceitful Contracts</title>
<pubDate>Fri, 28 Apr 2023 00:00:00 +0000</pubDate>
<guid>https://victoradan.net/posts/deceitful-contracts</guid>
<description><![CDATA[Don’t just throw exceptions; instead, make your functions total and keep your type signatures honest.]]></description>
</item>
<item>
<title>FizzBuzz Plus Ultra</title>
<pubDate>Thu, 17 Aug 2023 00:00:00 +0000</pubDate>
<guid>https://victoradan.net/posts/fizzbuzz-plus-ultra</guid>
<description><![CDATA[Previously I shared Wilensky and Papert’s concept of restructuration. Here I want to contrast a most common implementation of the FizzBuzz game with one that represents the domain differently and that, I hope to demonstrate, is superior to the first one because of this. More generally, my hope is to show the impact that representations can have on our ability to solve problems.]]></description>
</item>
<item>
<title>Indirection</title>
<pubDate>Tue, 05 Mar 2024 00:00:00 +0000</pubDate>
<guid>https://victoradan.net/posts/indirection</guid>
<description><![CDATA[All one needs is an extra layer of indirection…]]></description>
</item>
<item>
<title>Information Maximization</title>
<pubDate>Fri, 23 Jun 2023 00:00:00 +0000</pubDate>
<guid>https://victoradan.net/posts/information-maximization</guid>
<description><![CDATA[The importance of information maximization. This is something I don’t often see discussed in the context of software design or development, but I find it to be of great importance. Important enough for me to consider it a principle; we might call it the “information maximization principle”…]]></description>
</item>
<item>
<title>List comprehensions</title>
<pubDate>Sun, 30 Jul 2023 00:00:00 +0000</pubDate>
<guid>https://victoradan.net/posts/list-comprehensions</guid>
<description><![CDATA[List comprehensions are an elegant syntactic construct for creating and transforming lists. They are succinct and powerful, and available in several languages.]]></description>
</item>
<item>
<title>Pre-Design Optimization</title>
<pubDate>Mon, 29 Apr 2024 00:00:00 +0000</pubDate>
<guid>https://victoradan.net/posts/pre-design-optimization</guid>
<description><![CDATA[Is it ever sensible to consider optimization <em>before</em> building, or even designing, a solution?]]></description>
</item>
<item>
<title>Encoding our domain in the type system</title>
<pubDate>Thu, 08 Jun 2023 00:00:00 +0000</pubDate>
<guid>https://victoradan.net/posts/reify-as-type</guid>
<description><![CDATA[If “fail fast” is a good principle to follow, then it follows that static type checking is beneficial because we don’t have to wait until we run the program to eventually find errors that can otherwise be found by the compiler. And since the compiler can check the correctness of expressions at the type level, it follows that the more we can encode our problem domain in the type system, the more we can leverage the compiler to verify the soundness of our solution.]]></description>
</item>
<item>
<title>Wilensky and Papert’s Restructurations</title>
<pubDate>Fri, 04 Aug 2023 00:00:00 +0000</pubDate>
<guid>https://victoradan.net/posts/restructuration</guid>
<description><![CDATA[The ways in which we represent problems, domains, the world, directly affect our ability to understand, learn, and transform them. Thus, finding better representations is central to finding better ways to interact with the world. “Restructuration” is a term coined by Wilensky and Papert to refer to a change in “representational infrastructure”, which can profoundly impacts our representations and our understanding of the world.]]></description>
</item>
<item>
<title>Softwareville 1</title>
<pubDate>Mon, 08 May 2023 00:00:00 +0000</pubDate>
<guid>https://victoradan.net/posts/softwareville1</guid>
<description><![CDATA[Extreme Agile (or how David needs to get creative)]]></description>
</item>
<item>
<title>Softwareville 2</title>
<pubDate>Thu, 11 May 2023 00:00:00 +0000</pubDate>
<guid>https://victoradan.net/posts/softwareville2</guid>
<description><![CDATA[Extreme Agile (or how David got a bit too creative)]]></description>
</item>
<item>
<title>Softwareville 3</title>
<pubDate>Fri, 19 May 2023 00:00:00 +0000</pubDate>
<guid>https://victoradan.net/posts/softwareville3</guid>
<description><![CDATA[Micro-services, macro-complexity]]></description>
</item>
<item>
<title>Softwareville 4</title>
<pubDate>Thu, 19 Oct 2023 00:00:00 +0000</pubDate>
<guid>https://victoradan.net/posts/softwareville4</guid>
<description><![CDATA[Code Freeze]]></description>
</item>
<item>
<title>Tepoz VIII (1-bit music etude)</title>
<pubDate>Fri, 01 Dec 2023 00:00:00 +0000</pubDate>
<guid>https://victoradan.net/posts/tepoz_vi</guid>
<description><![CDATA[Tepoz VIII, another 1-bit music etude…]]></description>
</item>
<item>
<title>Beyond Test-Driven Development</title>
<pubDate>Sat, 02 Sep 2023 00:00:00 +0000</pubDate>
<guid>https://victoradan.net/posts/type-driven-development</guid>
<description><![CDATA[To TDD or not to TDD..? Surely 𝕋DD!]]></description>
</item>
</channel>
</rss>
