Skip to content

Blog

Don't miss a post! Subscribe to my blog's RSS feeds for created posts or for created or updated posts RSS Icon

Old blog (< 2022)

I occasionally restore old posts from previous variants of my blog from the Wayback Machine when I see that they're still being visited:

  • Xar (2018): a small post on how to use the Facebook XAR format for packaging Python projects
  • Terraform (2017): a post on Terraform best practices (outdated!)

New blog

Power of two random choices

Introducing this pragmatic load balancing algorithm and describing a real world use case


From Demucs to demucs.cpp

How I adapted the Demucs neural network PyTorch inference in C++ for WebAssembly, with a more complicated architecture than Open-Unmix


From Open-Unmix to umx.cpp

How I adapted the Open-Unmix neural network PyTorch inference in C++ for WebAssembly with a custom streaming LSTM, mixed-integer quantization, and Demucs waveform segmentation


Speed is the product

Exploring SIMD and auto-vectorization in WebAssembly to accelerate the C++ Eigen demucs.cpp code in freemusicdemixer.com. Post 2 in the freemusicdemixer.com series


Ignorance is BLISs

Exploring different BLAS library backends (OpenBLAS, AOCL BLIS, Intel MKL) for C++ Eigen project demucs.cpp on my AMD Zen 3 5950X. Post 1 in the freemusicdemixer.com series