Jeff Kaufman  ::  Blog Posts  ::  RSS Feed  ::  Contact

Rhythm Stage Setup v3

Since I last wrote about my rhythm setup, I've again made a lot of changes! Here's an example that shows a bunch of what I'm doing now:


(youtube)

The biggest thing I've added since the last rollup is a notion of tempo. I play drums with my feet as usual, and I've written some simple heuristics (see ) for identifying the downbeats. Once you know where the downbeat falls and how often they are, this opens up a lot of possibilities:

more...
Solar Arc Faults

Our solar install has shut itself down after detecting an arc fault four times since we installed it eighteen months ago: 2019-03-24, 2019-04-10, 2019-08-17, and 2020-02-17. The 2019-04-10 shutdown was with error code 4301 while the other three were with code 8206. Per the manual for our SunnyBoy 5.0 inverter, these codes are:
more...
Building Toe Buttons

In controlling my rhythm stage setup I have been bringing instruments in and out by pressing buttons on my axis 49. It has plenty of buttons, but needing to press them with my fingers doesn't combine well with playing mandolin. So: toe buttons!

The most common tool musicians use seems to be the FCB1010. Not only does it have twelve buttons it has two expression pedals. While this would be nice, it's too bulky for me: I already have many things under my feet so I would need to move my feet too far to press the buttons. So I built something instead:

This is my footboard v3 with its four velocity sensitive pads, but now with six multi-color switches within easy reach of my toes. It's velcroed on to the main section and connects via USB:

more...
Cloudy With a Chance of Meatballs PS3 Review

Growing up we didn't have a video game system and I've never played very much, but a friend found that working from home was not compatible to having their PS3 around, so now we have theirs. I was looking for games at a good level for our kids (Lily, just turned six, and Anna, just turned four) and on the advice of this r/PS3 comment decided to get a used copy of Cloudy With A Chance of Meatballs. We've now played the first few levels, so I wanted to write up my impressions. Here I am, someone who doesn't know anything about video games writing about a game that came out eleven years ago, whee!

more...
Approaches to Electronic Contra

I've been thinking about the various ways that musicians have approached combining elements of electronic dance music with contra dance. Examples:

This is not at all a complete list, but I think it shows the range of what people have tried.

One axis of variation here is how much of the playing is live. At one end you're dancing to an entirely premixed track, while at the other all the sounds are triggered in the moment by the musicians:

more...
Overhead of MessageChannel

The Channel Messaging API gives you a way to pass information asynchronously between different origins on the web, such as cross-origin iframes. Traditionally you would use window.postMessage(), but the a MessageChannel has the advantage of being clearer, only requiring validating origins on setup, and handling delegation better. Reading this 2016 post, however, I was worried that it might have enough overhead that postMessage made more sense in performance-sensitive contexts. Benchmark time!

I made a test page which alternates between loading trycontra.com/test/messageChannelResponse.html and trycontra.com/test/postMessageResponse.html. I'm using two different domains so that I can test cross-origin performance. First it loads messageChannelResponse in an iframe, waits for it to load, and then times how long it takes to pass in a MessagePort and receive a response on it. Then it does the same basic operation postMessageResponse with plain postMessage. This is a worst-case for MessageChannel, since I stand up the while channel only to use it a single time.

more...
More Posts


Jeff Kaufman  ::  Blog Posts  ::  RSS Feed  ::  Contact