I'm Nicolas, Software Engineer based in Zurich.
Here you'll find some articles, videos and projects related to what I like: build systems, functional programming, making web apps, and more.

How to Secure PrusaLink (or any Raspberry Pi web service) with HTTPS

How to Set WebGL Shader Colors with CSS and JavaScript

WebGL Shader Template

Automatic tag-based article suggestions for blogs and Astro websites

Intro to building GCC and some other GNU projects (focus on macOS & Apple Silicon)

Lockfile trick: Package an npm project with Nix in 20 lines

Keep your Mac awake with caffeinate

Dragging, Resizing and Rotating HTML elements: Fun with Web Components and Math

NixCon Talk: An Overview of Language Support in Nix

Recovering Nix derivation attributes of runtime dependencies

Triggered CI Builds: Automatically Update your Project's Dependencies

The 5 Raisons d'Être of Testing

Easy Peasy Nix Versions

Hunt bugs down before they are merged!

cio: cached HTTP requests for a smooth Jupyter experience!

Automatically generated directories for individual tasty tests

Nix: A Reproducible Setup for Linux and macOS

A Fully Functional, Fully Functional Webapp

Stutter: the anti-grep

Haskell makefile library

Recovering forgotten passwords with stutter and GNU parallel

Lens and Linear, 2048's logic in 22 lines

Puzzle solving in Haskell
