good reads

I’m a software developer, or software engineer if you like. (Which isn’t “IT” nor really the old-fashioned “data processing” but “computer programming” I’ll allow.) I’ve long had a certain skepticism about computer science as a discipline, or at least the way people in my experience have tried to apply it to practical problems.

During my career I’ve had a few coworkers who had been Computer Science majors, and who wanted to (and sometimes did) build these complex structures full of indirection and obfuscation, with multiple layers of “controllers” that didn’t control anything, “handlers” that didn’t handle anything, generic interfaces that were always used for one specific purpose to which they were not well suited, and so on. The code took longer to develop, was harder to follow and maintain, and often not a great performer compared to a more direct approach. Some of them also disliked the idea of caching or of shortcutting algorithms because it wasn’t “elegant” even if it improved performance very noticeably when I was asked to improve its performance. A classic collision of theory and practice, I thought.

The second-to-last book I read though was Algorithms to Live By: The Computer Science of Human Decisions, and I’ll allow that the field maybe wasn’t well represented by its advocates. A lot of the book (and the field) deals with finding “good enough” solutions for intractable problems, or making decisions with insufficient or unreliable data. The book gives several different categories of examples and how they can apply to personal decisions as well as political approaches and policies.

It turns out to be very practical. Like, sometimes the best sort algorithm is to not sort at all, because the time required to sort data is not justified by the time saved when searching it. For that, you have to have a pretty good idea of how much data you’re going to deal with, and how it’s going to be used.

Sorting efficiently is non-trivial, but it’s a solved problem, and developers are just going to call a standard library function and not worry about it. Other problems are quite different, especially when human behavior gets involved.

In life there are plenty of situations where everyone behaving rationally in their best interests turns out worse for everyone, and occasional situations where acting irrationally or taking risks turns out better for everyone. In almost every case, it’s because the system sucks, and a change to the rules will improve everyone’s outcomes. This applies to everything from network traffic to auctions, economic systems and policy, criminal justice, etc. (So the meta-question as always is, how to change the entrenched political system so that it’s willing to actually apply changes that are in everyone’s best interests?)

There were a couple of computer science metaphors where I could see applications to my own creative endeavors. For instance, Early Stopping and perhaps Overfitting. There’s a point where you should just stop working on a piece instead of trying to perfect it, because you’re just making changes that aren’t improvements. In the case of art/music, I think it’s because you’ve been exposed to it too long, and anything different has novelty value. It’s often better to stick with first instincts. This is a lesson I learned some time back, but with more recent changes to my editing process where I’m tending to layer in more things after the initial recording, it’s good to have a reminder.

Simulated Annealing comes from metallurgy, where annealing is a process of melting a metal and letting it cool very gradually to align the crystalline structure and make it stronger. Heat is just random motion, so carrying the metaphor to simulations and modeling, the idea is to begin with some amount of randomness but decrease that randomness with each iteration. This turns out to be a good way to “jiggle” the solution away from getting stuck in local maxima.

It also is, if I understand correctly (and my understanding is admittedly vague, though better informed than some), the way that “AI” art algorithms work (in a very general sense), with the generator network starting from raw random noise and refining it to try to satisfy the discriminator network (which decides whether the pixels look like a duck), each iteration using less randomness and more of its “knowledge”.

My creative process has a similar pattern. I will generally start with an idea, but will take wilder swings and wobbles at variations and then gradually settle down. The last couple of voices I add during my patching phase (not necessarily the last to be played chronologically) are designed to complement the rest; there’s less experimentation and more drawing on existing experience.

The latest book was No One Is Talking About This. I didn’t know much about the book before checking it out, just that it was highly recommended and had something to do with internet culture. I had the impression that it was going to lean toward science fiction, about someone trapped online (either in a more literal cyberpunk sense, or a mental health sense of obsession/addiction).

Instead… it’s almost non-fiction, an extremely relatable stream-of-consciousness journal of 2016-2019, a sort of satire by way of simply reporting life and culture and letting the absurdity stand out on its own. To summarize, I’d have to say it was about how people connect (or don’t), whether they’re strangers or family, and about how people react to each other. I will avoid spoilers, but about halfway through, the narrator is shocked by personal life events out of their Extremely Online life into something else, and it’s both heartbreaking and heartwarming.

It felt very odd somehow to read a story that was very clearly about the Trump era and our cultural/political response to it, that cut off right before the pandemic and the January 6 fiasco that both loom so large now. It’s almost scary to think about, but it goes back to what I had said about COVID being one of those definite “before” and “after” points in history.

a salute

I make a point of not really having “heroes” as such. For one, it’s a great way to be let down when they turn out to be Milkshake Duck. For another… being particularly creative, smart, funny, etc. doesn’t really make you a hero. Even someone like Dolly Parton, famously growing up poor, becoming wealthy through talent while remaining extremely down-to-earth and generous and kind and wholesome, isn’t a hero really. But I certainly can admire peoples’ talents or creations, and the inspiration they provided.

When I was a kid, the absolute coolest cartoon ever was Star Blazers, or Leiji Matsumoto’s Space Battleship Yamato. It’s more than a little weird and unlikely, and frankly a poor military design, for a literal ocean-going battleship to be converted to a spaceship — but making the metaphor literal worked extremely well in the anime medium. That ship itself I’m sure had more cultural residence for Japanese people of the time than an American kid who, at that age, probably couldn’t have found Japan on a map. But even without that, it made points immediately just with its looks; it pushes nostalgia buttons, and it ties the story in with Odysseus and other mythic voyagers. Not just the spaceship design, but the look of the characters and costumes and technology, were all very well thought out.

At the end of each Yamato episode, the audience was reminded how many days the crew had to return to Earth before it was lost to environmental catastrophe. Okay, we know that’s not how environmental catastrophe works, but it was an extremely effective story device. Dread and suspense were ramped up right at the end of each episode — often right after a thrilling victory or narrow escape, making me wonder whether it was the first instance of mood whiplash in anime. It certainly made me eager to see the next episode. I was reminded of the device when I watched The Ring and it had a similar countdown.

If diesel ships in space is odd, sailing ships is odder, and steam trains in space is just completely bizarre. But Captain Harlock and Galaxy Express 999 just worked. As did the funky guitar-shaped ship of Interstella 5555, but honestly that was more about the character designs. (There’s even a whole extended scene where the Crescendolls, the visual stand-in for Daft Punk, are put through this whole industrial process disguising their alien bodies as human pop stars, a sort of high-tech dressup as if they were actual dolls.)

The DVD of Interstella 5555 opens with excerpts from an interview with Matsumoto, where he is quoted “musicians are magicians, that’s what I always say.” I took that to heart, but also… it takes one to know one.

where I left off

So, halfway through February. Jamuary is behind, as is a trip down to visit my parents on my mom’s 75th birthday (and a rare opportunity to see my brother and his wife as well). And one more track recorded for the next album, which is currently now past the half-hour mark.

West Pest has its charms — the combination of its oscillator and folder with its dynamics gate has some amazing sweet spots. It’s also got a fair number of limitations, but being of a semi-modular nature, those can be shored up by patching it with other gear. I found the Minibrute 2S is a great partner for it, both to share modulation/utility resources and to combine forces. Two independent oscillators with their own folders blend really nicely. I started thinking in terms of a “BrutePest” station that would be mostly self-contained rather than patching it to the main modular.

I indeed didn’t have a good place for the West Pest to stay, and I was pondering this on the drive south. Since WP can be mounted easily in a standard Eurorack case, my first breakthrough was the idea of picking up a Rackbrute, the powered case made to mount on the Minibrute. That’d give me several more HP to fill in with some extra stuff to really make the BrutePest feel complete.

At one point this plan had grown to:

  • The Minibrute 2S and West Pest.
  • RackBrute 6U.
  • Inertia, which I’d had up for sale, as additional modulation source and occasional extra VCO or filter.
  • Warm Star The Bends, an unusual sort of matrix crossfader that would cover foreseeable utility wants.
  • Mimeophon moved over from my main case, because I felt like that would greatly enhance the BrutePest’s independence.
  • Ana also moved over from my main case, for a little more utility and combinatorial powers, and to make room for…
  • Verbos Multi-Delay in the main rack. When I was researching interesting delays, it blew me away. It’s an 8-tap delay with individual outputs per tap, multiple preset mixes and mix sliders, flexible feedback patching with a pitch shifter and reverb, and envelope followers for each tap. It’s one of those things that’s not just an end-of-chain effect but an instrument in its own right, as well as a modulation source… people have done amazing things with it.

And then I hit the brakes. A month ago I wasn’t going to get anything new, then I gave in and got one cheap, used semi-modular. And there I was planning to add another 6U modular case and a big fancy module and having lots of spare space to tempt me with even more stuff? Whoa there.

I remembered my old plan of a 2-tier stand that can hold the Minibrute and something else, which was going to be the Strega before I made other arrangements. A couple of days of research and I bought a Loci XL with expander, for much less than even the smaller Rackbrute was going to be. I’ve moved the West Pest and Inertia into my Pod60, which can sit atop the second tier (I could potentially also put the WP back in its own case and use the rest of the Pod for other things, once I see how things work with the stand).

I am also going to replace the Mini PEG in the main cast. I don’t love it as much as I thought I was going to, and I have more than enough modulation without it. I can always have Teletype or Bitwig generate some signals if Stages, Function, Just Friends, Kermit, 0-Ctrl etc. are all busy.

I used to have The Harvestman Tyme Sefari, and I really liked how it worked. It would behave as a delay, looper, or sampler not through different modes, but combinations of recording status and feedback amount. The main issue was it was really lo-fi. It was also an awkward 15HP plus an extra 8HP for the expander which allowed for a second channel (for stereo, multitap tracks or whatever).

Well. jroo Loop happens to be a delay/looper with two channels in 8HP, with a user interface that reminds me of TS, but not lo-fi unless you intentionally slow down its rate. Bingo. As well as missing the Tyme Sefari’s methods, and to a lesser extent the Phonogene, I’ve been wanting a better way to loop when playing bass. And here it is.

released: Yuki-Onna

New album release!

This is what was going to be my Best of Jamuary release, but almost all the best stuff was consistent in style: dark, noisy drone “ambient” stuff, full of controlled chaos.

(Since I went so heavy with the Make Noise Strega, I thought… winter month + witch = …hmm, I don’t want to name it after the Snow Queen or White Witch specifically, but how about a spooky yokai? Yes, that works.

Which caused me to read up a bit more on yuki-onna. Apparently there are many different varieties of them and conflicting stories about what (not) to do if you encounter one. If a granny or a woman with a baby or just any visitor comes along, begging for water or shelter, you can’t just leave them in the cold… but maybe make sure they have a hot bath. And dress warm and maybe carry a shovel. Or don’t live near a valley in Japan in winter.)

August 10 update: patch notes are now available here.

oceans of what?

I know I’m a Brandon Sanderson fan, and likely to enjoy pretty much everything he writes. But his latest book Tress of the Emerald Sea is super charming and funny, with a wholesome romance plot driving the adventure… it reminded me of Stardust and The Princess Bride and maybe a bit of Terry Pratchett.

As it turns out, the catalyst for the book was watching The Princess Bride with his family and having them point out that the title character didn’t have any agency. So it was a “what if Buttercup goes off on an adventure to rescue her beloved from pirates?” With some other plot/trope reversals (as Sanderson likes to do), and in the Cosmere on a weird-ass planet, and narrated by the immortal trickster and storyteller Hoid. The narrator is very much a character, and so it almost reads more like a Hoid book than a Sanderson book. Substitute puns, sarcasm, anachronistic references, and “I’ll just call them all Doug” for the Branvalanche and the huge emotional victories and defeats. While I’m glad the Stormlight Archive isn’t told entirely in Hoid’s voice, this book was a whole lot of fun. 🙂

I wound up picking out several tracks from Jamuary; I think 16, but I forgot to turn on my cloud sync after the last session so a couple of files aren’t visible from work. They’re all mastered and have names. It turns out there’s a common thread to the style, as if I had done that on purpose, and I really like it, so I used that as my final criteria for choosing what to include. We’re going on a trip later this week but I should be able to release it maybe tonight or tomorrow. No reason to rush, it just it would be nice to launch right into new stuff and bass practice after returning from the trip.

pest vs. brute

Pittsburgh Modular has been teasing a new synth, the Taiga, over the past few days and revealed everything yesterday, among the usual host of reviewers/”synthfluencers” on YouTube.

There are some fantastic sounds in the thing. It’s a 3-osc all analog synth where, crucially, each oscillator has its own wavefolder and a selection of hybrid shapes designed to complement them. In several of the demos there are absolutely stunning moments where the sound is just gorgeous.

But the rest of the synth’s features aren’t that impressive to me. A decent mixer section with a preamp, OK, good idea. The standard PGH filter, which sounds nice with some material but not super exciting IMHO. Their LPG, which can sound nice under CV but it’s no Natural Gate. Envelopes about which several reviewers complained about the knob response. A monophonic BBD which sounds really dark and a bit metallic, complementing some material but sounding pretty awful with other material. And a pricetag more than twice what I paid for the Minibrute 2S, which it would compete for space with in my setup.

Mmm. Hard sell there. But the nicer end of those sweet spot sounds intrigued me, and reminded me how much I liked the Double Helix when I had it, and how nice some of the demos of the PGH/Cre8audio West Pest demos and recordings are. And… it turns out the oscillator/folder design is really an iteration on the design in the West Pest. And that one is roughly Strega-sized, costs a lot less, and has a patchable audio input for its wavefolder, and a resonance control that other folders lack. Now we’re talkin’.

So I just bought a used WP. It is… kind of doubtful that it will fit on the wee shelves next to the Strega and 0-Ctrl, though that’s where it would be most suitable. But I may wind up deciding that the Pest and some other small bit of gear can take over the space where the Minibrute is, or I may find another solution.

I used the MB2S a few times during Jamuary, but nowhere near as much as the Strega. Which is true outside Jamuary as well, perhaps even more so. What I like most about the Minibrute 2S is the way the filter really warms up and rounds off when Brute Factor is turned up to maybe 1/4 to 1/3, and the way the filter interacts with the two oscillators. The oscillators themselves aren’t super thrilling. The sequencer is not that fun, but tolerable for simple short sequences.

So, we’ll just see how this goes.

5 days ago I ordered some dog food and cat litter from Chewy. This has resulted in a total of twenty-one (21) emails. 9 of them were from Chewy, 11 from FedEx, and one from PayPal. Part of the excess was due to a one-day delay due to weather conditions, but… geez.