Void Linux Bhyve Image on OmniOS
Posted by Dave Eddy on Sep 19 2022 - tags: techThis guide will show how to install Void Linux as a guest on OmniOS using hardware virtualization with bhyve.
Configure the system
To get started, first install zadm
on OmniOS inside the global zone.
This tool makes creating and managing zones simple and is reminiscent of the
vmadm
command on SmartOS.
Install zadm
:
pkg install zadm
pkg install zones/brand/bhyve
I personally use this config for zadm
(shoutouts to
@papertigers for this), but feel free to customize this as you
like.
Programmatically Generated Piano Music
Posted by Dave Eddy on Dec 17 2021 - tags: techI wrote a computer program to generate piano music on the command line. The generation is done with a simple algorithm to create patterns in MIDI format, which is then imported into my DAW to process the data and turn it into music. There is no AI or Machine Learning in this algorithm - the music is programmatically generated and this video covers the algorithm that I created in detail.
I Made a Computer Program to Generate Piano Music
Plex Media Server on Void Linux
Posted by Dave Eddy on Nov 15 2021 - tags: techHow to install Plex on Void
Download plex-install-manager
from:
https://github.com/bahamas10/plex-install-manager
Install deps:
xbps-install -S binutils tar curl xz
Create user and directories needed:
useradd -s /bin/false -d /var/empty _plex
mkdir /opt/plex /opt/plex/src /opt/plex/data
chown _plex:_plex /opt/plex/data
Install Plex:
New Album - Inspired
Posted by Dave Eddy on Jun 01 2021 - tags: musicI released my latest album on June 1st, 2021!
My 5th album (4th full-length). Inspired consists of songs mostly written during 2020 and 2021 - when I decided to quit my job and focus more on music creation. It’s comprised of piano and instrumental tracks.
Download or stream Inspired.
sshp Rewrite from JavaScript to C
Posted by Dave Eddy on May 20 2021 - tags: techIn 2013, I wrote a program in Node.js called sshp. This was right
around the time I was investing heavily into learning node, and
honestly having a blast doing it. Node is quick and fun to write, and with
only a couple hundred lines of code, I was able to write node-sshp
.
node-sshp
is a command line utility that acts as a parallelizer for ssh
.
It works by taking in a file containing a list of hosts to connect to and
looping over each host firing off an ssh
command in parallel (with a
configurable maximum number of concurrent processes). The tool’s description
is:
sshp
manages multiple ssh processes and handles coalescing the output to the terminal. By default,sshp
will read a file of newline-separated hostnames or IPs and fork ssh subprocesses for them, redirecting the stdout and stderr streams of the child line-by-line to stdout ofsshp
itself.
Writing this tool in Node was an obvious choice at the time: the company I was working for was using Node heavily, and this tool was written specifically to be used at my job. Managing multiple concurrent child processes and IO streams also made Node the obvious choice.
Super Mario 64 Decompilation on Void Linux
Posted by Dave Eddy on Sep 09 2020 - tags: techSuper Mario 64 is one of my all-time favorite games. Last year, the source code for the decompilation project was made available to the public. I won’t go into detail on the decompilation project itself (see this post here for more information), but instead will focus on getting Super Mario 64 compiled on Void Linux.
Getting Started
A couple of dependencies will need to be installed that will be used throughout
the installation process. Note that root privileges are only required in
commands where sudo
is used - the rest of the commands can be run as an
unprivileged user.
sudo xbps-install git
sudo xbps-install make
sudo xbps-install wget
mkdir ~/dev ~/src
For this guide, the sm64 source code will be checked out into ~/dev
, and the
required dependencies that are installed manually will be in ~/src
, of which
there are 2:
qemu-irix
binutils-mips64
qemu-irix
To install this package, I found it easiest to take the qemu-irix
release as a
.deb
file from the n64decomp
GitHub organization and extract the deb
myself.
Pump It Up Pad Refurbishment and Upgrade
Posted by Dave Eddy on Feb 06 2020 - tags: diyIn 2018 I created my own DIY Pump It Up Pad Platform With Bars - it was a combination of Precision Dance Pads and a platform with bars I created myself. This setup was… decent at best. I wanted the full arcade experience, and knew that nothing was going to satisfy that except for the real arcade pads.
Luckily for me, my friend Kate added me to a buy/sell/trade Facebook group for arcade rhythm games, and within the first week there was a post for used Pump It Up pads for sale about 8 hours away from my house. I jumped on that opportunity immediately!
DIY Wooden Long Desk
Posted by Dave Eddy on Dec 17 2019 - tags: diyIn 2016 I built an Overwatch Themed Desk for my bedroom to use with my gaming machine. Recently, I’ve been getting really into streaming on Twitch and I needed more desk space. I want to do more tech related streams, and gaming in general, and need more desk space for multiple computers.
I decided I should build a new longer desk to replace the desk I currently use. I wanted it to be the same height and depth, but this time make it 6 feet long.
SmartOS COAL on Linux KVM with Virt Manager
Posted by Dave Eddy on Feb 12 2019 - tags: techCOAL, or Cloud-on-a-Laptop, is an
easy way to run and test SmartOS and the Triton
Stack in a self-contained VM meant to be run
on a laptop. The sdc-headnode
repository makes a lot of assumptions when building a COAL image about using
VMWare for virtualization on an OS X laptop. However, with some modifications
it is possible to run COAL on Linux via KVM managed through virt-manager
.
To get virt-manager
setup and running on Void Linux, you can follow my guide
KVM Virtualization with virt-manager on Void
Linux.
Nested Virtualization (optional)
Before getting started with the COAL building process, you can choose to enable
nested virtualization if your hardware supports it. This is required if you
would like to run bhyve
zones on your COAL setup. Note that this setup
assumes an Intel CPU.
You can check if your CPU supports nested virtualization by running:
$ grep ^flags /proc/cpuinfo | grep -c ' vmx '
8