Sent a pull request to Audacity fixing a crash bug I'd been running into frequently. The cause was an out-of-bounds memmove. Classic C++ areas.

Anyway I got a fucking copilot review on my PR which left two comments, both completely wrong, one of which suggesting I reintroduce the out of bounds memory access. I'm furious!

You know back in my day, we had static analysis tooling that would give you exactly this kind of feedback, except it was correct. Now we have shit which only looks at the vibes of the source text and does no semantic analysis whatsoever, so of course it's just fucking wrong
I spent a couple of hours yesterday getting Audacity building, reproducing and diagnosing the bug, and wrapping my head around the complex logic in this part of the code so that I could implement a correct fix. To have copilot review my work, which I contributed back for free, is just so incredibly disrespectful to my time and effort.
@hailey And they're doing it because they believe that if they keep spamming the programming community with this bullshit enough, it'll eventually learn to code itself better and then ✨✨✨magical AGI bullshit heaven!!!✨✨✨

@hailey Not to self promo but we're working on rebasing off Audacity 3.7.4 (without the Muse stuff) and chances are we likely have this bug on our rebase branch. If you want to help us with our rebate efforts we'd be happy! No CLA and AI are involved too!

@gperson will be happy to help you with anything too. Just ask him and he'll help you out the best he can! (That's me writing this too. Hello 😄👋)

@tenacity @gperson I had already planned to send this fix across! I wasn't aware of the muse drama or Tenacity until today but I'll be switching over going forward :)
@hailey @tenacity for the uninitiated, what was/is the muse drama (if someone has the time to answer this or point me in a direction)?
Basic telemetry for the Audacity by crsib · Pull Request #835 · audacity/audacity

Please, see our response: #889 Dear all, Due to the large amount of worry about this PR, (which we completely understand), we want to clarify exactly what is going on: Telemetry is strictly optio...

GitHub
@crypticcelery there may have been additional happenings that im not aware of, but the main ones are that they introduced a CLA that would (i believe) hypothetically let MuseCY Holdings make proprietary releases based on the currently GPL codebase, and that they have had a couple kerfuffles with regards to privacy policies and telementry (which, imo, the reaction was more negative than would usually be warranted, probably in part because of the lack of transparency of MuseCY)
@jaxter184 I did not know about this, just the dumb analytics controversy. Welp, guess I'm going back to refusing to use Audacity.
@hailey @tenacity @gperson awawa lol i reported this many years back and got multiple patch ideas at the time https://github.com/audacity/audacity/issues/2930
Crash when scrolling spectrogram partially off-screen · Issue #2930 · audacity/audacity

Describe the bug When I switch a clip to spectrogram view and scroll it partly off-screen, it calls memmove with an out-of-bounds source (which crashes on Flatpak Audacity, and is invalid but uncau...

GitHub
@nyanpasu64 @tenacity @hailey Oh you know what that was probably it and it's been finally fixed after all this time. Nice to know how that finally got fixed! 😄
@gperson @tenacity @hailey Now we simply wait for the AI-powered spectrogram view... but unironically neural networks are the current meta for audio source separation and possibly transcription.

@nyanpasu64 @tenacity @hailey OH GOD 💀

I do acknowledge the power AI, however, especially for audio, but I'd prefer if it is run locally at least. I don't have anything with NPUs, however,so you won't see that coming from me ateast.

Oh, and your horizontal scrolling work on Tenacity's plot spectrum window was recently reapplied to the rebase branch. Only proof that your contribution will live on for years! 😄

@nyanpasu64 @tenacity @hailey And about the NPU thing: I'm down to using a 10-year-old laptop as my main right now. Gotta worry about getting a newer one first, then I'll worry about NPUs 💀
@tenacity @gperson btw I would be interested in contributing some work to move the processing for the spectrogram view off the UI thread to keep the UI snappy and responsive (it currently chugs a bit while h-scrolling with spectrogram on), but since this is a larger piece of work + I see that Tenacity is in the middle of an upstream rebase effort, I wanted to check in first to see what kind of appetite there would be for accepting such a change. Let me know!

@hailey @tenacity I'd say go for it! Just keep in mind that we'd merge it after the rebate is complete, so maybe create the PR once it's all done and then we'll go from there! 😄

If you'd like to help us out with the rebate effort, you can port our dynamic compressor over. Just that plus the Matroska exporter are what we need left, which I'm handling the exporter right now. (There's also a few other things but these are the major things that need taking care if).

@gperson @tenacity should I base it off the rebase branch or main for now?
@hailey @tenacity Base it off the rebase branch ('audacity-3.7-rebase'). That way, it's less work done when we ultimately merge that branch back into main.
@hailey @tenacity Right now I have the default branch as 'audacity-3.7-rebase' as that's where active development is happening. Eventually, I'll merge it back into 'main' where normal things will continue.

@gperson @hailey @tenacity great to see this, for once things are working as they should:

(1) some "bigh tech" thing behaves in a way that is disgusting and unacceptable
(2) people move away from that awful thing to something better, in this case @Codeberg

🎉 😄

(I mean, too often it's like "this big tech thing is truly horrible. Now I'm going to keep using it as if nothing happened".)

@hailey The only reason I keep my github account alive these days is to stick solidarity emotes on other people’s issues and comments. I should be surprised that the audacity committers are like this, but I’m really not.
@hailey I don’t blame you for being furious, all of this is absolutely appalling! 
@hailey oh, for sure. extremely disrespectful.

@hailey I can relate so much.

It is called social coding for a reason. Learning from each other and being nice to each other is so much part of PR work.

@hailey
Is aishittification a word yet?

@mcorbettwilson @hailey I call AI "Artificial Incompetence." Once in that mindset, I have rarely been disappointed.

Those so-called AI systems keep making the kind of mistakes that would get humans fired.

@mcorbettwilson @hailey No but i'd happily propagate it.

Also pretty sure i'm going to use AI for complicated 3D printing model generation.

But in term of video and images the glossyness, sepia and utter lack of humor make AI ever so boring.

No worries, Robert Crumb is still King.

@mcorbettwilson
It certainly should be! 👌
@hailey

@hailey

hey at least the team didn't send you an email threatening to get you deported to China

https://github.com/Xmader/musescore-downloader/issues/5

(musescore and audacity are owned by the same company)

How to respond to the takedown request email? · Issue #5 · Xmader/musescore-downloader

Hi, I'm Musescore developer. You need to takedown this repository: https://github.com/Xmader/musescore-downloader and any other your public repositories with same code. Because you illegaly use our...

GitHub

@guenther @hailey

The more I read into the Copilot stuff and the API stuff, the shadier it gets.

This is really sad, because I feel like @tantacrul (their Head of Software) is really very critical of exactly this kind of late-capitalist nonsense.

@teun I don't care what he is supposedly critical of. If your company threatens to deport people, that crosses a line.

(Also the entire analytics/privacy shitshow where they tried to forbid people under 13 to use Audacity (because children cannot legally consent to their data being collected) and Audacity's license change from GPL to MIT.)

But the China thing is just a whole other level of moral bankruptcy.

@hailey

@guenther @hailey

I fully agree. I'm just saying that I cannot quite put these different things together in my head. I hope they will do something drastic in response to this because it doesn't look good.

@teun nah, look at the dates in that github thread. happened five years ago, nobody cares.

@hailey

@hailey such a strong feeling of deja vu from this thread
it has happened before and it will happen again ;n;

@hailey

Why the fuck is the Audacity team using copilot?

@hailey is it ok to take your screenshots and put it on LinkedIn to dunk on AIs.

I promise I will write an alt text on the image, and can remove your username if you rather not have it visible.

Happy to hear that no, you don't want me to do that (this is why I ask!).

@hailey Your rage is both magnificent and eloquent! 👌
@hailey replacing the compiler with sentiment analysis
@jcoglan @hailey I refuse to accept Sentimental Code Analysis as an overload for SCA (Static Code Analysis, Software Composition Analysis).
@hailey static analysis was much better but it did not (does not) have correct output... You can absolutely confuse it with several valid code patterns (the one my company uses gets confused with using unique pointers for cleanup functions). But it was at least much better than that garbage
@gwenthekween @hailey fortunately, these days we have rust
@hailey god daaaamn this is true
@hailey the static analyzers gave 99% false positives so ... just ignore it all.

@hailey For example the Masterscope static analysis tool of Interlisp which still runs nicely on Medley Interlisp:

https://files.interlisp.org/medley/library/MASTERSCOPE.TEDIT.pdf

In the 1970s it could answer queries such as these (and didn't make stuff up):

. IS FOO BOUND BY ANY ON PATH TO ’PARSE

. WHICH ENTRIES OF ANY CALLING ’Y BIND ANY GLOBALVARS ON ’FOO

. WHO SETS ANY BOUND IN X OR CALLED BY Y

@hailey And those static analysis tools took many years of research and engineering to solve the issue of false positives.

Meanwhile, an LLM being wrong 90% of the time is no concern at all.

@hailey its endlessly frustrating watching coworkers struggle with incorrect suggestions from copilot instead of an analyzer that *actually understands the rest of the code and the names of members*
@hailey I think vscode entirely lacks the latter option which is probably why… dear god can we please just get everyone using pycharm this is infuriating
@hailey when you put it like that, it makes me want both; I've been on some code bases with pretty bad vibes.
@hailey In a university survey targeting maintainers of open source software, I was asked whether I think AI/LLM tooling would help with reviews. My answer was mostly that I think almost all changes are better assisted with static analysis and sometimes (or most times) wrong comments would more lead to contributor burnout/dissatisfaction. We (the researcher and I) later talked about this and he said it was a new thought for him. This made me somewhat sad as such usability aspects should be first
@hailey yep, exactly this. Programmers have these tools already and they are actually good.
Now everything is thrown away because dumb investors own all money.
@hailey That's some bullshit.