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

How to Check Your Linux Version: os-release, uname and lsb_release

Ever wonder what Linux version is running on your machine? I commonly connect to friends’ machines, or to one of my servers, and I have no clue what’s on it. This can make a huge difference, as some distributions use apt, some use dnf or yum, and some use something else entirely. Luckily, there are a few commands that answer this in a second.

In this article, we’re going to cover /etc/os-release, uname, lsb_release, and hostnamectl.

Continue reading How to Check Your Linux Version: os-release, uname and lsb_release

How to Build and Install a Linux Kernel from Source on Ubuntu

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 get new kernel versions for a long time. Ubuntu 24.04 LTS still ships a 6.8 kernel, while kernel.org is on 7.2 as I’m writing this.

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

This article walks through building the current stable kernel on Ubuntu 24.04 LTS (Noble Numbat) and installing it as a normal .deb package. The same steps work on Debian and most other Ubuntu releases. (I originally wrote this for Ubuntu 19.10 and Linux 5.4 back in 2020, and updated it in 2026, since several steps no longer work the old way.)

Continue reading How to Build and Install a Linux Kernel from Source on Ubuntu