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

Simpler encapsulation with immutability

A worked example. I've noticed that many software organizations struggle with encapsulation with 'bigger' problems. It may be understandable and easily applicable to define a NaturalNumber type or ensure that a minim…

via ploeh blog June 12, 2024

Update on our infrastructure plans

Now that Drew has provided an update on the general state of SourceHut, I would like to follow up with one focusing on our infrastructure. Much has happened under the hood, a lot has not happened, and plans come and go as reality changes its mind every now a…

via Blogs on Sourcehut June 12, 2024

OpenBSD extreme privacy setup

# Introduction This blog post explains how to configure an OpenBSD workstation with extreme privacy in mind. This is an attempt to turn OpenBSD into a Whonix or Tails alternative, although if you really need that level of privacy, use a system from this…

via Solene'% June 10, 2024

Generated by openring