<<>>open webamp
 
justin = {main feed = { recent comments, search } , music , code , askjf , pubkey };
 

Recent comments:

Posted by an_admirer on Sun 01 Nov 2026 at 22:25 from 71.211.172.x
thanks

Posted by SoftwareDevGuy1 on Sun 01 Nov 2026 at 10:10 from 92.209.209.x

Ah yes. Launching with
pw-jack reaper

and setting
Options -> Preferences -> Audio -> Device -> Audio system
to JACK
works.

Thanks.

Built-in support for pipewire would bring convenience: choosing devices and setting rate and buffer size inside REAPER, and per-stream latency requests.

How's midi 2.0 support looking like?

And do you still go with
"independent software vendors will not be able to compete with the multinational megacorporations"

Have you not experienced some usefulness of AI before that brought you some real benefit? (I've done things in the last 2 months that would not even have materialized without help from AI, to be honest).

Posted by Justin on Sat 31 Oct 2026 at 17:39 from 71.125.233.x

pipewire -- pipewire-jack works perfectly, it's a very simple abstraction (if we were to add native pipewire support, it would essentially be the exact same thing).

Posted by SoftwareDevGuy1 on Thu 29 Oct 2026 at 18:18 from 92.209.209.x

I wrote "Current AIs (at the time of writing: claude opus 5.5, chatgpt/codex astra 6) can get that filter coded in 5 minutes and have you see/hear the results."

I forgot to write, that the AI can also help select appropriate filers, and already knows those (cutting edge new ones) that you'd otherwise need weeks to find, read up on and get squinted with.

Filters is just an example. The AI is a great tool to help you cut through and get results and solutions.

Posted by SoftwareDevGuy1 on Thu 29 Oct 2026 at 10:48 from 185.225.69.x

Haven't tried reaper on linux for a while.

Is it working nicely with linux pipewire yet?

Let claude opus 5.5 or codex astra 6 work on it.

You'll be amazed!

Posted by SoftwareDevGuy1 on Thu 29 Oct 2026 at 10:39 from 92.209.209.x

Your not happy with the AI output.... ? Then you are not guiding it enough. Guide it, repeat, make it create AGENTS.md and CLAUDE.md according to your wishes: coding style, approach, etc

You help the AI in the beginning: coding style, Explain some architectural concepts. Definitely have it create auto unit-tests. To avoid breakage of existing code. And then go and reap benefits

Basically: YOU command it. Let it refactor its own attempts (with YOUR Input: concepts, coding style, architectural...) until it is good. Then have it write up your "rules" in a md file. YOU give the commands. The AI system follows.

Posted by SoftwareDevGuy1 on Thu 29 Oct 2026 at 10:36 from 92.209.209.x

AI: Either you ride the wave, or you get washed away by others riding it.

What AI can do in terms of coding, signal processing, etc. is nothing short of remarkable.

You want to explore various filters? Yes?
You want to dig into journals and read up for half a week and then implement it in another week. Then try another filter approach and repeat?
Honestly?
That's ridiculous today. Current AIs (at the time of writing: claude opus 5.5, chatgpt/codex astra 6) can get that filter coded in 5 minutes and have you see/hear the results.
This is revolutionary. You can explore multiple complex cutting-edge filters in one day, as opposed to months otherwise.

Also, I disagree with the assessment that
>> "independent software vendors will not be able to compete with the multinational megacorporations that control all of our infrastructure (read that essay). This will be a very not good thing."
1014.org/?article=931

I see this in a completely different way:

AI is the great equalizer. (democratic equalizer).
Now you (and I and anybody) can create code and signal processing, that would otherwise have been reserved for large wealthy companies with engineering signal processing departments and a battalion of software developers (think more than 15).

But these companies are also not sleeping: they will fire many of their substandard simple-execution developers, because they are just not needed anymore.
Is it a bad thing? Maybe. But maybe not. Now small independent software vendors can compete with larger ones.

Of course using AI is different than you coding was before.
You WILL have the AI auto-create thousands of unit-tests to establish and secure the status quo of your current software (which might be a large human-coded codebase such as reaper.)
Why: so that things will not get broken by AI.
You WILL give the AI coding tasks and check the results, but also get the AI to include the new functions in unit-tests.
You MIGHT use 2 AI's (claude opus 5.5, chatgpt/codex astra 6) and get them to cross-review and improve code going back-and-forth between them: I do it and recommend it.

And to really see what it can do... YOU WILL THINK OF THE SUPERCOMPLEX FEATURE THAT YOU NEVER ATTEMPTED (or have not yet completed yourself), AND GIVE IT TO AI and watch and be amazed.
Those 20-what dollars per month for claude (opus 5.5 etc) and another 20-what dollars for chatgpt (code astra 6)...
are nothing, to the leaps you can jump forward.

It's a game changer. It's a revolution. Ride that wave.
And start doing it now (because sooner or later AI duration-use will be taxed, to make up for lost income due to layoffs, while the AI is doing the work)

Posted by Jesse Hufstetler on Wed 28 Oct 2026 at 15:14 from 75.187.196.x

Justin, you are one of my heroes as far as programmers go, I'd like to hear if your ideas have changed since you wrote this

Posted by AMP on Sun 11 Oct 2026 at 09:27 from 82.20.29.x

For those things it's great, glm 5.2 or 5.3 is great for fixing at speed. But to save tokens, use the Top end for the plan of it and other say glm or similar to carry out the work.
GPT Luna 6 is cheap and on medium most stuff it can handle fine at that level.
Feebs just mentioned about Strata and is using now qwen 3.8 next 60ish gig over vram and ram and I think he got it up to 80 tokens a sec which is really good.
Freetoken can do it too but its really nvidia only adm.
Many AI models that are very small now that can do amazing things.
But if ya need to know anything AI Feebs is Mr AI, his well up on it all.

Posted by stephenfalken on Tue 15 Sep 2026 at 11:44 from 98.176.121.x

Late to the party but yes I finally read this

Posted by aca on Sun 02 Aug 2026 at 17:02 from 109.245.131.x

a like yours music rip winamp

Posted by jrgc on Mon 11 May 2026 at 14:02 from 145.40.189.x

It is nice to see such a nuanced perspective on a topic as contentious as LLMs.

Posted by Flippy on Tue 03 Mar 2026 at 18:46 from 38.141.153.x

That being said, totally understand why you did what you had to do, and it's kind of insane that bot traffic now dwarfs human traffic like that

Posted by Flippy on Tue 03 Mar 2026 at 18:44 from 38.141.153.x

It's a bummer cause when I'm vibe coding another sweet little reaper script for myself, claude/codex can't access the incredible wealth of knowledge available in the forums to help it make better choices.

It would be really cool if there was a lightweight, cheaper to serve, more bot friendly version of the forum. No clue how possible that is though.

Posted by Justin on Wed 28 Jan 2026 at 20:36 from 135.180.25.x

nothing specific against cloudflare, but the point of the internet is that it's decentralized and I'd hate to contribute against that (though we already do somewhat, hosting on aws etc). anyway our homegrown solution is working nicely these days! for now

Posted by Samster on Sat 24 Jan 2026 at 20:40 from 80.211.143.x

I know you probably won't like my 1st suggestion, but Cloudflare has been working hard recently on smarter bot detection strategies in order to detect many of the human-mimicking bots.

But if you have negative feelings towards Cloudflare, perhaps you can try some self-hostable solution, such as BunkerWeb, with crow-sourced intelligence. I'm not sure how good that is, but it sounds promising. I'm yet to try it myself.

Posted by Samster on Sat 24 Jan 2026 at 20:36 from 80.211.143.x

Sorry for the fire. It's really sad to know a great person like yourself should have to deal with that.

Posted by Arya on Thu 22 Jan 2026 at 16:52 from 163.116.139.x

A bit late, but I read this

Posted by pljones on Sat 03 Jan 2026 at 05:40 from 81.174.155.x

HNY. I gave up trying to keep my server clear of attacks -- it wasn't enough of a problem to be worth maintaining the lists for me (Jamulus Directories, plus my own Servers and website), fortunately.

Posted by Tale on Fri 02 Jan 2026 at 02:01 from 77.170.68.x

Happy New Year! And I'm sorry to hear about the fire.

Posted by raaski on Tue 30 Dec 2025 at 15:56 from 201.40.222.x

nice

Posted by lukaszp on Wed 17 Dec 2025 at 18:51 from 85.202.98.x

I've read this and do pop back in every once in a while.
Poland follower here :)

Posted by confiture03 on Wed 17 Dec 2025 at 12:57 from 176.143.252.x

I wish there was a easy to use GUI for ffmpeg

Posted by Matyas on Wed 12 Nov 2025 at 11:58 from 85.67.61.x

I've read this too.

Posted by shenan on Mon 03 Nov 2025 at 20:25 from 216.26.216.x

we made bandwidth history on the julian.uwo.ca servers doing a canadian mirror for winamp one evening. those were fun days - waiting for the release that would finally sync the vis with the audio.

Posted by alexandru on Thu 09 Oct 2025 at 07:27 from 193.134.194.x

yes, i have read it. Thank you :)

Posted by Justin on Thu 21 Aug 2025 at 20:58 from 71.125.233.x

I don't really like requiring JavaScript, though.

Posted by Robin Abresch on Thu 21 Aug 2025 at 15:57 from 77.21.115.x

Hey Justin, if you haven't seen it already, there's a recent open source project that was started this year called "anubis".

Weighs the soul of the traffic, meaning it does a proof of work in your browser before you can access the site, and stores a cookie once is fulfilled.

This makes it prohibitively expensive to run web-crawlers while having no impact on server side CPU and not preventing legitimate traffic.

github.com/TecharoHQ/anubis

Posted by maciek on Wed 06 Aug 2025 at 16:45 from 37.31.144.x

i've read this

Posted by Justin on Mon 21 Jul 2025 at 08:43 from 71.125.233.x

I like it!

Posted by Schmoe on Sat 19 Jul 2025 at 10:39 from 108.180.154.x

I think you can extend that idea to any honest expression of ideas to others. You brain changes in the act of real communicstion. Thoughts?

Posted by Todd on Mon 14 Jul 2025 at 23:52 from 107.77.229.x

You don’t know me and I don’t know you outside of Winamp fame and nullsoft and probably deadaim. But I’ve read this. (And follow the feed mostly for interesting coding tidbits)

Posted by Vladimir on Sat 21 Jun 2025 at 00:38 from 172.219.211.x

Winamp for Windows, still rocking in 2025. Thank you, brother.

Posted by john on Wed 18 Jun 2025 at 15:25 from 187.201.253.x

they say Claude is way better for coding in reaper

Posted by helgoboss on Sat 14 Jun 2025 at 13:13 from 61.8.144.x

Awesome move! Thanks.

Posted by 2024 on Fri 13 Jun 2025 at 09:38 from 68.235.44.x

Not sure what Strava means in English but in Ukrainian it means "a dish" (food, not ware)

Posted by Name on Fri 13 Jun 2025 at 06:52 from 51.222.40.x

Reminds me of how i navigate REAPER pitfalls when writing scripts, lol

Posted by Tale on Fri 13 Jun 2025 at 01:53 from 77.170.68.x

Nice!

Posted by Justin on Thu 12 Jun 2025 at 22:45 from 71.125.233.x

as a followup to this, the workaround I posted only works right if DWM is enabled -- if on Win7 with DWM disabled, def don't want to use it.

Posted by Demosense on Mon 02 Jun 2025 at 08:50 from 76.88.176.x

Proper way to obtain CoreAudio workgroup is doing something like this:
os_workgroup_t Output_Plugin::GetAudioUnitGroup()
{
AudioUnit mOutputUnit{nullptr};
OSStatus err = noErr;

os_workgroup_t audioWorkgroup{nullptr}; // Main AudioUnit workgroup (iOS managed)

// Find the default output audio component
AudioComponentDescription outputDesc = {0};
outputDesc.componentType = kAudioUnitType_Output;
outputDesc.componentSubType = kAudioUnitSubType_RemoteIO;
outputDesc.componentManufacturer = kAudioUnitManufacturer_Apple;
outputDesc.componentFlags = 0;
outputDesc.componentFlagsMask = 0;

AudioComponent outputComponent = AudioComponentFindNext(NULL, &outputDesc);
if (!outputComponent) {
AUDIO_LOG("❌ AudioComponentFindNext failed - no RemoteIO component found");
return nullptr;
}

// Create an instance of the AudioUnit
err = AudioComponentInstanceNew(outputComponent, &mOutputUnit);
if (err != noErr || !mOutputUnit) {
AUDIO_LOG("❌ AudioComponentInstanceNew failed: %d", err);
return nullptr;
}

// Initialize the AudioUnit
err = AudioUnitInitialize(mOutputUnit);
if (err != noErr) {
AUDIO_LOG("❌ AudioUnitInitialize failed: %d", err);
return nullptr;
}

UInt32 dataSize = sizeof(audioWorkgroup);

// Get the workgroup from the AudioUnit
err = AudioUnitGetProperty(mOutputUnit,
kAudioOutputUnitProperty_OSWorkgroup,
kAudioUnitScope_Global,
0,
&audioWorkgroup,
&dataSize);

if (err == noErr && audioWorkgroup) {
AUDIO_LOG("✅ Successfully obtained AudioUnit workgroup: %p (iOS managed)", audioWorkgroup);
AudioUnitUninitialize(mOutputUnit);
AudioComponentInstanceDispose(mOutputUnit);
} else {
AUDIO_LOG("⚠️ Failed to get AudioUnit workgroup property: %d", err);
audioWorkgroup = nullptr;
}
return audioWorkgroup;
}

Posted by bobobo on Sat 31 May 2025 at 02:03 from 217.244.208.x

20 Years . where is the time gone?

Posted by Justin on Fri 30 May 2025 at 17:14 from 71.125.233.x

ah I'll check that out, though using vc2013's editor these days

Posted by Tale on Fri 30 May 2025 at 02:09 from 77.170.68.x

Congrats on 20 years of NINJAM!

Posted by Mark on Thu 29 May 2025 at 07:54 from 189.146.220.x

Have you tried Resource Hacker for editing your .rc files? angusj.com/resourcehacker

Posted by Chris on Mon 26 May 2025 at 10:18 from 92.70.225.x

So this is where it all began. Cheers.

Posted by Justin on Mon 24 Mar 2025 at 17:07 from 71.202.172.x

still finding more fun things to do, most recently made it check passwords against haveibeenpwned.com/passwordsto prevent people from setting insecure passwords. a bit overkill, but easier than underkill

Posted by Justin on Mon 24 Mar 2025 at 17:06 from 71.202.172.x

yeah once I'm done with it I'll probably make it public. would get to see if anybody finds any security issues lol... it is pretty specific to this one use but maybe others would find it useful.

Posted by wasereb4 on Sat 22 Mar 2025 at 21:35 from 95.91.77.x

Do you think about publishing it at some point or is it not universially useable?

Posted by spag on Tue 04 Mar 2025 at 21:59 from 24.91.117.x

(bringing a new meaning to the term "necrobump" here)
nearly 20 years after this was posted and i'm looking at probably the first screenshot of the program that changed my life about a decade ago, lmao. pretty wild to see these real time updates from when this was just an idea (when i was uhhh...5!) - don't ask why i've procrastinated the past couple hours scrolling through this page instead of finishing this damn mix (in reaper ofc)...i'll chalk it up to researching history. or ADHD. or something! :P
genuinely thank you for documenting all of this though, really cool little nugget of history here. i miss when the internet was this simple

Posted by Gio on Fri 31 Jan 2025 at 16:37 from 94.70.14.x

Maybe Comic Sans is a thing amongst the honest guys, who knows...
search : Copyright © 2026 Justin Frankel