Blog Archives

Calibrating an inkjet printer using a scanner

In an ideal world, if you scan a photo and then print it, you could expect it to look the same. Of course, that’s not the case with consumer hardware….

ImageMagick on Azure Functions for Linux with Node.js

Since you cannot install any additional dependencies on function instances, you have to include any missing tools, that you need, as static binaries in your deployment. To prepare a static…

Educational Logic Gate Board

This is a board I based roughly on a setup we had in high school, that I was taught logic gates with, once upon a time. I designed the layout…

Building the USB audio passthrough board

After trying out a USB isolator to fix the audio noise that was caused by a ground loop, I continued my search for a high quality plug-and-play solution to forward…

Are small memory allocations in C++ STL containers still a concern?

While benchmarking a custom concurrent functor queue against standard library containers, I noticed something that I didn’t expect. The common concern about the standard containers, especially ones such as std::list,…

Manual code signing certificate request procedure

Executables signed with a reputable code signing certificate get better SmartScreen treatment. A signed executable proves that it hasn’t been tampered with by anyone who does not have the signature…

Using a USB isolator to remove audio ground loop noise

A couple of days ago, when hooking up my laptop to my PC’s line input, I was met with an unacceptable noise that I found was coming from a ground…

Looking for a way to stream Linux laptop audio to Windows desktop

I’m setting up my old laptop next to my desktop. Currently my desktop, running Windows 10, is connected to an old Creative X-Fi USB sound card that’s no longer supported….

New Year, New Blog

Happy new year! The past years have gone by quickly, and my blog has been gathering lots of dust. I’ve restored, and improved on, the layout that was in use…