RSSAmplifier

Blog

nmattia's blog

Infrequent articles about software and more.

nmattia.comRSS feed ↗27 posts

Latest posts

Terminal Graphics Protocol for fast embedded development

This article explains how the Terminal Graphics Protocol can be used to render embedded-style frame buffer graphics directly in a terminal for development and testing.

Accessing LUKS and ext4 drives from macOS

A playbook for accessing LUKS-encrypted ext4 drives from macOS

build.log#1 - Printing labels via SSH with Raspberry Pi Zero and Nix

Sending jobs to a label printer via SSH with Raspberry Pi Zero & Nix

Interactive WebGL Tutorial: Recreating an iOS Animation with GLSL

A hands-on guide to rebuilding Apple-style iOS animations in WebGL using shaders, with code samples, performance tips, and compositing techniques.

SKÅPA, a parametric 3D printing app like an IKEA manual

First introduction to and release of skapa, an app for generating 3D printable models.

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

This guide explains how to set up HTTPS for a Raspberry Pi using Let's Encrypt and nginx, with PrusaLink as an example.

How to Set WebGL Shader Colors with CSS and JavaScript

Learn how to dynamically influence WebGL shaders with CSS styles and JavaScript. This guide covers everything from GLSL uniforms to getting document colors and following CSS transitions in shaders.

Automatic tag-based article suggestions for blogs and Astro websites

An example of how to automatically show relevant article suggestions in astro.

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

An introduction to the GNU build system (./configure & make), pkg-config, the concepts of build, host and target platforms, and building gcc, including on Apple Silicon

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

This article explains how to package an npm project with Nix by using information from the lockfile directly to download the dependencies.

Keep your Mac awake with caffeinate

This explains how to keep a Mac from going to sleep using a simple command

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

This explains how to build user-friendly drag/resize/rotate operations in JavaScript and goes through a bit of the math behind it

Recovering Nix derivation attributes of runtime dependencies

This describes how to get a list of runtime dependencies of a Nix package, from within Nix

Triggered CI Builds: Automatically Update your Project's Dependencies

I explain how I built a simple CircleCI scheduled job that updates dependencies in some of my open-source projects

The 5 Raisons d'Être of Testing

A personal take on why testing is necessary

Easy Peasy Nix Versions

Describes a simple way to update Nix dependencies and shows a simple Bash script implementing it

Hunt bugs down before they are merged!

A humorous article about why bugs should be caught sooner rather than later

cio: cached HTTP requests for a smooth Jupyter experience!

Introduction of a small Haskell library for caching HTTP requests

Automatically generated directories for individual tasty tests

This describes a trick for creating directories based on test names when using the Tasty Haskell testing library

Nix: A Reproducible Setup for Linux and macOS

Introduction to homies, a reproducible development environment

A Fully Functional, Fully Functional Webapp

This is a link to a talk I gave at WebZurich on how to build a webapp using functional programming

Stutter: the anti-grep

The release article for stutter, a tool that takes a regex and tries to generate matching strings

Haskell makefile library

The release article for a Haskell makefile parsing library

Recovering forgotten passwords with stutter and GNU parallel

I explain how I managed to crack my LUKS-encrypted hard drive by generating many, many passwords.

Lens and Linear, 2048's logic in 22 lines

An article that explains how I used Haskell to implement the game logic of 2048.

Puzzle solving in Haskell

An article that explains how I used Haskell to solve a particular puzzle

Parallel Computing with DNA

An introduction to using DNA to compute