One of the guys at work asked me if I had played with Wireguard yet, and I hadn’t. Now I have. It’s pretty neat, simpler to set up that vpn, and faster to connect to and use. It was recently added to the Linux kernel, so it will be supported by lots of things.

To set it up, I initially followed the steps on https://www.wireguard.com/ but that does not persist through reboots and does not act as a general vpn solution.

I found that by changing the allowed-ips to the local subnet, and enabling ipv4 forwarding I was able to access everything on my lan while still using non-tunneled internet. Switching to fully tunneled-internet was just a matter of changing that cidr range over to to capture everything. You can toggle it on and off in the android app super quickly compared to any traditional vpn.

These pages helped:

Having access to a vpn on mobile is great since you can’t trust random wifi networks.

Remember to enable ipv4 forwarding: sudo sysctl -w net.ipv4.ip_forward=1 and don’t forget the iptables masquerade rules. Examples are in the PostUp and PostDown sections of the wg0.conf or interface configs.

JAMS – Java Awesome Midi Sequencer


This is a demo video of a new Java App I have been working on, I call it JAMS or Java Awesome Midi Sequencer. It is a hardware centric Midi Sequencer written in Java and intended for a Raspberry Pi. However, being written in Java means it can run in a lot of places and be easily developed on my main pc.

This video demonstrates some early features like separate controllers and instruments, and simple stepping and looping mechanisms.

All of the Sequencer controls can be mapped to a midi device and channel which can be used as the sequencer controller, while others can used as inputs and outputs. They can be the same device as in the video, or output to a different synthesizer. The built in Java synthesizer is even available, but it is not my first choice.

If a device has configurable channels, like the baxboard, it could be used for both control and as an instrument by changing the channel.

Currently, JAMS is intended to be run headless, without a monitor. It can be setup using only keyboard commands and will load preconfigured settings on startup, and will even connect to the preconfigured devices and start the sequencer loop.

Recording mode can be toggled on and off so that you can create your own loops to play over.

I intend to make at least a simple GUI targetted for low res touch screens as they are common addons for Raspberry Pis, maybe even a regular gui in the future. I hope this will be a much cooler way to play electronic music live instead of just watching some dude play on his imac.

The code will be available on Github soon.

RFID Interlock at DMS

Last December I joined the Dallas Makerspace. It is an awesome place where people are welcome to work on a variety of projects. The space also owns many tools that most people would not normally have access to; some of these require training.

In order to enforce this, we have been working on an RFID based power interlock that we can build and use to only connect the power for approved users.

I have made some progress in writing the code in Java for a BeagleBone Black board running Angstrom Linux, and created a demo video.