Five Taps and a Zip File: Running My Own Code on a Denon DJ Player

A Denon Prime GO is a $1,000 standalone DJ controller. No laptop, no phone; you put music on a USB stick, plug it in, and play. It has a touchscreen, two decks, a battery, and absolutely no reason to let you run your own software on it.

It does anyway. You tap the version number five times, put a zip file on a flash drive, and it runs whatever you gave it.

I’ve been documenting inMusic’s firmware for a couple of years now. Denon DJ, Numark, Akai, HeadRush, Rane all share a codebase, so work on one device tends to apply to a dozen. Everything in this post lives in my documentation site. But the way into the device is my favorite thing I’ve found in it, partly because of how it works and partly because of a bug I found in inMusic’s own version of it.

Let me walk you through it.

Continue reading Five Taps and a Zip File: Running My Own Code on a Denon DJ Player

Finding Your Linux Version with uname and lsb_release

Ever wonder what Linux version is running on your machine? I commonly connect to friend's machines, or to one of my servers and I have no clue. This can make a huge difference, as some distributions use apt, and some use yum. There are two super helpful commands to accomplish figuring this out.

In this article, we're going to cover uname, and lsb_release.

Read More

Building a Linux Kernel

I find myself fairly regularly hearing about new features in the Linux kernel (the core of Linux operating systems), getting excited, and checking to see if my distribution's repository of packages has the latest kernel built. Unfortunately, Ubuntu's repositories don't have the most recent versions of the kernel available for some time.

Fortunately, the Linux kernel is open source, so we can freely download the kernel's source code, compile it, and install it.

This article details the steps necessary on a fresh install of Ubuntu 19.10 (Eoan Ermine).

Read More