op1.fun Embeddings
I needed something to take my mind off the high drama going on at work, so I turned to a side project that hadn’t received much love in the 6+ years since I launched it: op1.fun. It’s a site for users of the Teenage Engineering OP-1 to share patches and store “tapes”. Over the years, people have generously shared thousands of patches (10,611 public ones as of writing). For fun, I wanted to come up with a way to apply some of the techniques I’ve been learning about at work to these sound files.
HP 7475A
I recently picked up an HP 7475A off of craigslist. A while back I borrowed a friend’s 7550A, so I’m generally familiar with how these machines work. However, it still took me some tinkering and head-scratching to make it work, so I’m sharing this post in the hopes that future explorers find it helpful.
My model features the DB25 sized RS-232 serial port connector. The previous owner had installed a USB connection by attaching 4 jumpers to a Sparkfun FTDI usb breakout board.
the logistic map
The other day I came across this fantastic video on the veritassium youtube channel. It describes a mathematical treasure called the logistic map – a chaotic sequence that emerges from a simple formula. Visualizing it reveals detailed fractal images. In this post I’ll share some visualizations I made using p5.js which illustrate it.
Disclaimer: I’m not a mathematician by trade, so if you are, please don’t hesitate to email me with corrections or suggestions.
gray code
While working on this year’s advent of code, I was reminded of gray code, something I hadn’t thought about for a few years. Gray code is a cool invention with some interesting uses.
From Wikipedia:
The reflected binary code (RBC), also known just as reflected binary (RB) or Gray code after Frank Gray, is an ordering of the binary numeral system such that two successive values differ in only one bit (binary digit).
nginx: Don’t set proxy_pass to a static string
The other day I was pairing with a colleague on a confusing bug with an nginx deployment. One of our proxy_pass directives was configured to point to the hostname of an AWS Application Load Balancer (ALB). After behaving normally in production for a few hours the nginx server started throwing 502s for all requests to a certain location block. It is documented that nginx will not re-resolve hostnames for proxy_pass entries that are set to static string values, so the first thing we confirmed was that the proxy_pass directive in question was configured with a variable value.