Safer F#/.NET environments

I always find it amazingly hard to tweak .NET project’s tooling outside Visual Studio or Rider. The solution (.sln) file is just a cryptic list of GUIDs, project files (.[fc]proj) have no autocompletion on its options through LSPs and there’s nothing fancy on fsharp-mode nor VSCode Extensions to help you. For this reason I want to show here some files and options I use to make my F#/C# projects safer and easier to use.

According to the documentation, Directory.Build.props is a file that you can put at the root of your directory to define default properties to all of your project at once. In my case, I use it with the following properties:

<Project>
  <PropertyGroup>
    <Deterministic>true</Deterministic>
    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
    <MSBuildTreatWarningsAsErrors>true</MSBuildTreatWarningsAsErrors>
  </PropertyGroup>
</Project>


Articles from blogs I follow around the net

Variations of the Range kata

In the languages I usually employ. The Range kata is succinct, bordering on the spartan in both description and requirements. To be honest, it's hardly the most inspiring kata available, and yet it may help showcase a few in…

via ploeh blog January 1, 2024

Some notes on NixOS

Hello! Over the holidays I decided it might be fun to run NixOS on one of my servers, as part of my continuing experiments with Nix. My motivation for this was that previously I was using Ansible to provision the server, but then I’d ad hoc installed a bunch…

via Julia Evans January 1, 2024

I found some of my first code! Annotating and reflecting on robotics code from 2009.

In high school, one of my teachers shattered my plans for my life, in the most beautiful way. Most of my life, I'd intended to become a math professional of some sort: a math teacher, when that was all I saw math for; an actuary, when I started to lear…

via ntietz.com blog January 1, 2024

Generated by openring