Target: .NET 10 (LTS) · C# 14 · Last updated March 2026
This guide is a curated set of 100 performance rules, tips, and idioms every developer on this project must know. Each entry is concise and actionable. Entries marked 🆕 leverage features new in .NET 10 / C# 14.
| { | |
| description = "qemu vm example"; | |
| inputs = { | |
| nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; | |
| }; | |
| outputs = | |
| { nixpkgs, ... }: | |
| { | |
| devShells."x86_64-linux".default = |
See the new site: https://postgresisenough.dev
In this article, I'll explain why implementing numbers with just algebraic datatypes is desirable. I'll then talk about common implementations of FFT (Fast Fourier Transform) and why they hide inherent inefficiencies. I'll then show how to implement integers and complex numbers with just algebraic datatypes, in a way that is extremely simple and elegant. I'll conclude by deriving a pure functional implementation of complex FFT with just datatypes, no floats.
We recently had to provide (near) live data to a set of views in our application. After considering the most common ways to build this we decided to go with long polling. Our entire app is event based, so we know if a certain event happed the data might have changed. Lets assume the following types represent what can happen in our application:
type CounterEvent =
| CounterWasIncremented byValue: int| ### | |
| ### [2023-06-19] UPDATE: Just tried to use my instructions again on a fresh install and it failed in a number of places. | |
| ###. Not sure if I'll update this gist (though I realise it seems to still have some traffic), but here's a list of | |
| ###. things to watch out for: | |
| ### - Check out the `nix-darwin` instructions, as they have changed. | |
| ### - There's a home manager gotcha https://github.com/nix-community/home-manager/issues/4026 | |
| ### | |
| # I found some good resources but they seem to do a bit too much (maybe from a time when there were more bugs). | |
| # So here's a minimal Gist which worked for me as an install on a new M1 Pro. |
I'm trying to follow this guide to install NixOS
using Btrfs, LUKS and LVM. The main usage of this page for me will be remembering what I did! My laptop is ASUS ROG GL553VD.
Just downloaded Plasma Desktop, 64bit and create a bootable Flash Drive. Then boot up to NixOS Live CD. Using gparted to create two partitions, One 200MB vfat EFI partittion and the rest of SSD drive will be an encrypted partition.
DISK=/dev/nvme0n1
| { config, pkgs, lib, ... }: | |
| { | |
| # This sway config is mostly based on https://nixos.wiki/wiki/Sway | |
| # which integrates sway with systemd in the style described here | |
| # https://github.com/swaywm/sway/wiki/Systemd-integration | |
| # and the replies in https://github.com/NixOS/nixpkgs/issues/57602 | |
| # with some individual packages added/removed and using sddm as the display manager. | |
| # | |
| # Take care to start the correct target as described by the sway proejct wiki. |