Programmable IO (PIO) for MIDI with the Rasberry Pi Pico

I recently read a few posts on the Simple DIY Electronic Music Project blog about using the Raspberry Pi Pico to interface with synthesizers over MIDI. The Pico is an interesting beast and I was curious how far it can be pushed - how many devices can a Pico control at once? It turns out that it is possible to create a MIDI thru device of up to 25 outputs with PIO doing most of the heavy lifting leaving the main CPUs to handle program logic (and perhaps USB / WiFi / Bluetooth / etc).

Read more  ↩︎

Introducing JUnit JSON Params

Yesterday, I released junit-json-params, a small java library built on JUnit 5 that enables parameterizing unit tests with inline JSON and JSON resource files.

Read more  ↩︎

Installing .NET Core on OSX

Note: this post contains outdated instructions for a problem that occurred installing .NET core on OSX in 2016. https://github.com/dotnet/sdk/issues/4600 suggests that you can now install dotnet core on macOS by running brew install dotnet. The instructions at https://learn.microsoft.com/en-us/dotnet/core/install/macos are also worth reading rather than this post.

Read more  ↩︎

My Geek Origin Story

Like many a software engineer does again and again, I'm restarting my blog. This time I'm going to kick this iteration off with an idea inspired by Michael Kordahi (@delicateGenius) many years ago for Tech.Ed 2011, the Geek Origin Story.

Read more  ↩︎

Detecting and Preventing Corrupt Software Downloads

In the past I and several of my colleagues have run into problems when attempting to install software downloaded from the MSDN Subscriber Downloads or elsewhere. One possible cause for this is file corruption either due to an incomplete download, or caused later when copying the file to another device (e.g. over a local network or via flaky USB drives). This problem is easy to detect and prevent.

Read more  ↩︎