RSSAmplifier

Blog

steinkamp.us

Zack Steinkamp's website posts.

steinkamp.usRSS feed ↗50 posts

Latest posts

Knobbler's Leaky Observers: A Symbol Table Sequel

I thought I'd killed Knobbler's symbol-table leak. Then big sets kept getting slow anyway. The second culprit wasn't strings going out the network — it was LiveAPI observers leaking a handful of symbols every time I tore one down, and a scrolling mixer that tore them down by the thousand. The fix is a pattern worth knowing: bind by id, then pool.

Sampling a Spring: Driving Ableton Device Parameters from React Native's UI Thread

In a music controller, a fader's position isn't just pixels — it's a parameter value that has to leave the device as OSC and move a knob in Ableton, at 60fps, with no lag a musician can feel. That second job forces the value onto React Native's UI thread. Here's how Knobbler samples a UI-thread animated value as a control signal — and what falls out when you let go and a spring takes over, keeps…

Knobbler's OSC Diet: From One Message at a Time to Columnar

Knobbler pushes a firehose of OSC between a Max for Live device and a tablet app. Over a few years the wire format evolved through five distinct tricks — single messages, coalescing, batching, chunking, and finally a columnar encoding — each one solving a specific kind of waste. Here's the progression, with real payloads and the bytes saved at each step.

Knobbler, the Max Symbol Table, and a Migration to v8

A puzzling benchmark led me down a rabbit hole into how Max stores strings, why my device was slowly poisoning the Max environment, and what I learned migrating 5,000 lines of TypeScript from [js] to [v8].

Journey to Trailwork

My path to finding a new joy in life through the art and science of trail building.

Your Own Custom Chai Tiffin

If you love chai like I do, check out how to put together your own custom cup each day.

Being Just a Little Smarter With Money

If thinking about money, 401k, and investing makes you tired and you have your nest egg just in a savings account, then read on...

First Class Travel, 1994-96

Memories of the job I had when I lived in Costa Mesa. First Class Travel was a corporate travel agency in the US Bank building next to John Wayne Airport.

Version Updates in Max for Live

This post details a system I've put together to provide notifications inside of my Max for Live devices when I publish a device update.

Knobbler - The Pursuit of an Auto-Labeling Control Surface for Ableton Live

I originally wrote this in 2022, but updated it in March 2025 after the release of Knobbler for iPad. I'm a big fan of purposeful physical interfaces to computer interfaces for the same reason why I'm a big fan of fully keyboard-controllable apps. When we can use our whole hands, including fingers, we are easily an order of magnitude (10x) more productive compared with the single point and click…

How To Save Music

tl;dr :: the Streamers (Spotify, Tidal, etc) do bizdev with Bandcamp to link up tracks in their streaming catalog with artists' Bandcamp catalogs. Streamers become a sales funnel to Bandcamp for these artists. Normal sales money relationship rules apply.

Evolving Parenting

Parenting changes not just from year to year as your kid gets older, but societally we understand more as time passes. It's time to evolve!

Community Comet Support Group

I had a wonderful night meeting some lovely people in my community, with a comet backdrop.

The Ultimate Shop Light?

Really happy with this recent shop light purchase. I'll tell you why!

Ode to Pickled Red Onions

A bit about what is one of the easiest, cheapest, and most versatile condiments around.

MagSafe Continuity Camera Monitor Mount

I figured out a cool way to mount my phone to my monitor using a wireless charger. Check out the evolution...

The Story of Quantize MIDI

All about the Max for Live device that can variably quantize a MIDI note stream in real time.

Why Did the Runner Cross The Road?

A little post giving my $0.02 on what side of the road a runner should run on.

JPL Care Package From 1983

In March 1983, perhaps in response to a parental request for some nerdy materials for a nerdy kid, the Jet Propulsion Laboratory sent a large envelope to my house. Find out what was inside...

Current Status Music Space

A rundown of what my creative area looks like right now.

Sock Strategy Success

Please don't bother unless you're the kind of person that thinks that having 12 pairs of the same sock is the way to do it. Otherwise, Welcome Friend!

Simulscrub Videos

I published some videos on YouTube showing and demonstrating Simulscrub.

Leaving the Full-Time World

Lucky me to be able to leave this kush job to focus on the more important things in life.

20 Years Ago

A look back a couple of decades to see how the heck I got here.

Filesystem Apps - Own Your Own Data

Cloud services will come and go, but your memories are yours forever. Take charge of your media legacy with Filesystem Apps.

Zack's No-Bull YouTube List

YouTube is a wonder of the modern world. Sure, there's a ton of garbage there, but there is also quite a lot of gold.

Lenticular Clouds Majesty

I had a run-in with a cloud structure I've never seen, myself or in any photos. Follow the story of how I figured out where it was.

Wielding Authority

How our views of competent authority as adults is shaped by our experiences as children, how that shows up in adult life, and how we can benefit from a categorical reboot of the role of authority.

The Positive ROI of Therapy

Beyond the usually understood benefits of therapy (dealing with trauma, triggers, relationships, etc.), this post presents a thesis that regular therapy yields a positive ROI over traditional investments.

A Dev Team Blueprint

It's possible that your organization needs to scramble. Perhaps strategy takes a sudden left turn. It's crunch time and you are a part of making it happen. This is your mission, right? Well, sort of. This is your superficial mission. Perhaps this mission can also be leveraged as a tool to achieve something a lot more important. Reflecting Perhaps your organization has a heavy feeling. I'm using…

On Video

Origin The origin was colorless and still. Then we added movement. Next was color. The movement became smoother. The resolution achieved par with human vision. VR Present and Near Future VR takes over. Every recording device records stereoscopic. All entertainment is VR. Omnipotent Virtual Experiences and Industry Breakthroughs in optics, sensors, ambisonic microphones, computing power, and vast…

Introducing Esstraba!🎉

Continuing on my apparent obsession with filesystem-based applications (musics, photodirs, etc...), I present Esstraba!🎉 your self-hosted Strava bulk download zip file viewer. Check out my Esstraba!🎉 Umm ok, and, so, um, why? This is for the people that have some of their most treasured memories in Strava -- pre-dawn trail runs with friends, PRs, races you trained for months to prepare for.…

Stepwise Chord Ripper

I just finished a marathon session with Max For Live and have two new devices to show for it. Download the Devices KeyStepper ChordRipper What I wanted was a way to play a chord of MIDI notes on one track, and have the individual notes from the chord sent to different tracks, so that I could have different instruments playing the different notes from the chord. Once the notes were at the…

Easy HTTPS with NGINX and ACME

Bottom Line NGINX has just open-sourced a project that drastically reduces the effort required to add HTTPS support to your NGINX webservers. This project makes use of NJS (which allows for extending NGINX with JavaScript) to integrate an ACME (Automated Certificate Management Environment) client into NGINX itself. This client communicates with ACME services like Let's Encrypt to manage SSL/TLS…

Jury Duty Recap

Prior to 2023, I had never received a jury summons. This seemed odd to me, given my eligibility for over 30 years and that it is supposedly a random process. It was something I'd mention here and there as friends and colleagues received their summons, but always with a little superstitious hesitation. Lo and behold, a summons arrived in the mail in February 2023, with an April appearance date. I…

St Lucia Trip Recap

Marina, Naomi, and I decided last April to book a trip to St Lucia. When we were deciding where to go, we didn't know we wanted to visit St Lucia specifically, but we did know we wanted a Caribbean vacation. After doing a bit of internet research (e.g. googling "how to select a caribbean island") as well as looking at flight times to each, St Lucia came out on top for us -- it's a very…

New Max for Live Device: Modulation Lerp

Yesterday after work I was reading my personal email, and a very sincerely interesting email was waiting for me. My strategy of putting my email address everywhere has been paying off in the contacts I've been making, and today was no exception. Good Ben Sulzinsky shared an idea of his for a modulation machine that I loved from the beginning. His idea could be accomplished a string of the stock…

My History of Programming(-ish) Languages

I thought it would be good to write down the programming languages I've used and the context that I learned them in. So here we are. 1980 - Logo (Turtle Graphics) My earliest computer programming memory was from a computer lab with Apple ][ computers in some school at night when I was 6 years old. I was there for a computer class (I can't remember the lead-in to that), and was blown away by being…

Nice backup solution for PFSense => TrueNAS

For the last couple of weeks, I've been nerding out on some home networking stuff. I blame my friend Eric for introducing me to the wonders of TrueNAS and pfSense. This post outlines how I use TrueNAS to back up my pfSense configuration, and a special trick I used that I feel was cool enough to write about. Background TrueNAS is an open-source network attached storage (NAS) system that can run on…

TrueNAS for Awesome Home Storage, Media, and Backups

yo I'm a constant optimizer and evolver with basically everything. I also enjoy working with computers, so challenges around technology are more fun for me than they are chores. This post captures my current solution of using TrueNAS for home network file sharing, media serving, and backups. Context A while back, I wrote about how I was using a Raspberry Pi as a fun Linux server for the home. I…

Request: Chain Views in Ableton Live

As an Ableton Live user, I appreciate its approach to interface. Part of their interface philosophy is the extreme consistency within the Ableton-provided devices. This allows for a deeply opinionated model for user experience, since many basic constraints like "device height" are controlled. This allowed Ableton to make the decision to devote a slim portion of the bottom of the interface window…

Bringing Customer Focus to Your Engineering Team

In my experience, one attribute that makes a great software engineering team is their level of customer focus. By customer focus, I mean understanding their customer's needs and placing that front and center in decision making. It's critical for a team to understand that the only reason they exist is because their customers find value in the product or service they are offering. Without the deep…

Perpetual Storage

Where does the data go? Where does it go after you die, after the app company folds, after the powers of the world shift? Your phone is a single generation of a very long line of obsolete devices. Your computer and its backup drive in your house is subject to fire, flood, or earthquake. An online backup provider is but one solution, each with an average corporate lifespan of 5.4 years (I made that…

What I Learned At Stripe

In February 2022, I left my job at Splunk to take some time first to relax then to focus on finding a fantastic next job. I managed to do both during my three months of funemployment, landing a job at Stripe in the Atlas team in May. I was laid off in November 2022, along with most people who were hired during this time. Despite it being a very short stint in my career, what I learned at Stripe…

Ye Olde Yahoo!

Early Yahoo! was a very special place. It was magical and rudimentary at the same time. I joined probably past the true magical era, and was hired in Yahoo!'s first hyper-growth, bulking-out phase (empno 850) at the beginning of 1999. What made it special? We were inventing how internet-connected distributed apps can work at scale (well, one way!). Nobody had ever solved problems like these…

Four Year Checkin: Tesla Model 3

In November 2018, I decided to order a Tesla Model 3. So far it's been a joy to own and drive. This post details my history and experiences with the car, and gets into just how much money I've saved by choosing this car over something comparable. Spoiler: It's seriously no contest. History I owned a Volkswagen e-Golf since 2015, and while it was a super fun car, its meager range (realistically 80…

So You Have a New Teen Driver!

So your teenager is old enough to learn to drive. That's awesome! For a parent, it can also be terrifying. I mean, they're the most precious people in our lives -- isn't it irresponsible to put them out there with all those crazies?!?!? We all know that car accidents are the #1 killer of teenagers. How can we reconcile this, and let our kids grow up to be responsible adult drivers? I wrote this…

TapPanVerb - A Reverb + Delay Tap Field + Feedback Effect

Last week I had an idea for an effect. I was thinking that a reverb effect should give you control over the pan position of the reverb at a given time after the initial impulse enters the reverb. This could make for some neat movement, since it's not just panning the whole reverb signal -- each moment of the reverb's tail has its designated pan position. After a walk through my current reverb…

Top Things I Wish Were More Clear In Max/MSP

I really enjoy working in Max/MSP, especially on Max For Live devices. This is something that sets Ableton Live apart from other DAWs, and really speaks to the Art+Science part of me. I didn't always enjoy working in Max. As a beginner, it all seems so opaque, and others' patches just seem to magically work. But I've worked with computers for long enough to know that when anything feels like…

Automation Math

tl;dr If you just want to install it, then head over to the GitHub project page for download links and instructions. Context In Ableton Live, once you assign an automation source to a control, you cannot assign additional automation sources for that control. There are situations where it would be nice to have two sources for one parameter, for instance an LFO at a vibrato frequency modulating…