About:
Software Engineer based in Zurich who has a thing for functional programming, reproducible builds and infrastructure as code
Website:
Specializations:
Subscribe to RSS:
The article discusses the challenges of resizing a rotated HTML element by dragging its corner, focusing on the mathematical and programming aspects involved. The author, Nicolas Mattia, shares insights from his experience develop...
The post discusses a convention for managing third-party packages in Nix projects, emphasizing a simple directory structure for ease of use and automated updates. It introduces 'niv', a tool that consolidates package specification...
The blog post discusses Skapa, a 3D-printable model generation app for IKEA's Skadis pegboards. It details the UI/UX design choices, the technology behind model generation using Three.js and manifold-3d, and the author's learning ...
A comprehensive guide on accessing LUKS-encrypted ext4 drives from macOS using a QEMU virtual machine and Ubuntu setup.
The post outlines how to set up a reproducible development environment on Linux (and potentially macOS) using the Nix package manager. It discusses the benefits of using Nix for managing packages and configurations, including the ...
The blog post discusses the process of generating a 'runtime report' for Nix packages, focusing on how to extract and report the licenses of runtime dependencies from build products. It explains the steps involved in creating the ...
The article discusses a practical method for creating directories based on test names using the Haskell test framework 'tasty'. It addresses the issue of interleaved logs during test execution by redirecting logs to files, making ...
The article discusses how to automate the process of updating project dependencies using CircleCI, Nix, and niv. The author explains the importance of keeping dependencies up-to-date for security and efficiency, and details the se...
This blog post discusses how to integrate CSS styling with WebGL shaders, specifically focusing on rendering quads with fragment shaders. It explains the limitations of WebGL in relation to CSS and provides a method to dynamically...
This article provides a detailed tutorial on how to recreate an iPhone animation using WebGL and GLSL shaders. It covers foundational concepts in graphics programming, including writing fragment shaders, leveraging symmetry for pe...
This blog post serves as a comprehensive cheatsheet for building the GNU Compiler Collection (GCC) from source, particularly on macOS using Apple Silicon (M1). It outlines the necessary dependencies, including gmp, mpfr, and libmp...
The article introduces 'cio', a library that acts as a wrapper around the 'wreq' library for making HTTP requests in a Jupyter environment. It emphasizes the caching capabilities of 'cio', which allows for near-instantaneous reque...
The author describes the process of setting up a Brother QL-700 label printer to work wirelessly using a Raspberry Pi Zero and Nix. After discovering that the printer does not support native wireless connectivity, the author explo...
The article explains how to package a JavaScript npm project using Nix without complex workarounds. It emphasizes using the project lockfile (package-lock.json) to fetch dependencies and utilizes npm for the build process. The aut...
The article discusses the increased costs associated with fixing bugs after they have been merged into the master branch of a codebase, arguing against the belief that the costs are the same as fixing them before merging. It outli...
The blog post introduces 'stutter', a command line tool designed to generate strings, contrasting its functionality with that of 'grep'. It provides examples of usage, including basic commands and more complex operations involving...
The article discusses how to implement automatic article suggestions at the end of blog posts using Astro. It explains the process of generating suggested topics and entries based on the current article's tags, including code snip...
The Terminal Graphics Protocol enables fast image rendering in terminals, streamlining embedded development by eliminating hardware dependencies.
The article outlines five key reasons why testing is essential in software development: ensuring code functionality, maintaining functionality across different environments, preserving functionality over time, identifying usabilit...
This guide provides a step-by-step process for setting up HTTPS on a Raspberry Pi using Let’s Encrypt and nginx, specifically for the PrusaLink web interface for managing Prusa 3D printers. It emphasizes the importance of securing...
The author discusses using the macOS utility 'caffeinate' to prevent their Mac from sleeping during a lengthy download of a Peugeot software update. They express frustration with the slow download speeds and the need for constant ...
...