benwiley.org

What I learned building an audio plugins system for the web

About a month ago I released an app I’d been working on for awhile, Volca Sampler. If you visit the app you might be a bit confused, but among the niche group of folks who own a KORG volca sample hardware sample synthesizer, this app has been very well-received. It embeds KORG’s open-source C library for transferring audio data to the volca sample, making it much easier to load one’s own sounds onto the device....

November 14, 2023 · Ben Wiley

Async/Await in JavaScript: Not as Dumb as I Thought

Among my colleagues who also write JavaScript for a living, for a long time I’ve been one of the sole detractors of the async and await keywords introduced with the ECMAScript 2015 standard. For those time-traveling from the year 2014, an async function in JavaScript uses a new syntax to run a series of dependent asynchronous tasks. If you had a music library database from which you wanted to fetch the first artist, then their most recent album, then the first song on that album, using JavaScript Promises circa 2015 you might write:...

February 21, 2019 · Ben Wiley

Fix Ugly JSON API Responses with Redux Middleware

Note: This post uses an example Redux application, but won’t go deep into explaining how Redux actually works. Check out the (top-notch) Redux documentation to get started. However you won’t be expected to know React, which is often used with Redux applications. For rendering in this example, we just use plain JavaScript. As a JavaScript app developer, you’ll inevitably be handling JSON object responses from server APIs — either your own, or someone else’s....

May 22, 2016 · Ben Wiley

Create Web-Optimized Screencapture GIFs from the Unix Shell

Last week I set out to finally build myself a web portfolio on my site — a task that has been delayed numerous times since I went more-or-less “full-time” last Fall. I knew I had to have screenshots, since those are one of the most important ways you can grab people’s attention before they resume totally ignoring you. But it can be hard to capture the essence of a dynamic web app in a single frame....

March 21, 2016 · Ben Wiley