Josh Jersild's Avatar

Josh Jersild

@joshjers.drilian.com

I've been programming for way too long Also sometimes I write or perform music Mostly I talk about random bullshit (he/him) https://drilian.com/ https://cathoderetro.com/ https://procyongame.com/ https://www.youtube.com/@Drilian

433
Followers
357
Following
2,320
Posts
25.07.2023
Joined
Posts Following

Latest posts by Josh Jersild @joshjers.drilian.com

Fun math fact: in most cases, cos(x / 2) is not the same as (cos x) / 2

11.03.2026 06:19 ๐Ÿ‘ 5 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

Whoa I don't think it would actually happen

11.03.2026 01:35 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

an LLM is a compiler in the same way that a slot machine is an ATM

08.03.2026 13:51 ๐Ÿ‘ 131 ๐Ÿ” 37 ๐Ÿ’ฌ 2 ๐Ÿ“Œ 0

It was a barren wasteland where you couldn't even ask a computer for an inaccurate summary of something

09.03.2026 23:39 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

Also now I'm ableist for *checks notes* hating LLMs

09.03.2026 23:30 ๐Ÿ‘ 3 ๐Ÿ” 0 ๐Ÿ’ฌ 2 ๐Ÿ“Œ 1

Apparently calling out LLMs as "very bad, actually" is gatekeeping tools for neurodivergent folks now

Sorry you chose bad tools that are a scourge on the planet and society, but go off, I guess

09.03.2026 23:29 ๐Ÿ‘ 4 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

it is always 300% worse than however bad I think it's going to be

09.03.2026 21:14 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

For me, it wasn't any one thing in particular. My (Lutheran) church was ... well, not *liberal* probably, but at least chill enough that it didn't touch on any of the politics would have quickly pushed me away.

But as I hit my mid-teens, things about the doctrine stopped making any sense to me.

09.03.2026 20:48 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
09.03.2026 19:09 ๐Ÿ‘ 6974 ๐Ÿ” 2206 ๐Ÿ’ฌ 14 ๐Ÿ“Œ 5

"our games bite [derogatory]"

09.03.2026 20:00 ๐Ÿ‘ 4 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

yes ... ha ha ha *yes*!

09.03.2026 18:19 ๐Ÿ‘ 2 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

what I'm hearing is "get ready to use IRC again" which, hell yeah

<_<

(it's me, I'm sickos.jpg)

09.03.2026 17:35 ๐Ÿ‘ 2 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

Reiterating here that my comment has nothing to do with whether or not people need or want assistive technologies/treatments/whatever, it has everything to do with what *AI* is

Assistive technologies are great! LLMs are not that!

09.03.2026 15:57 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

I love daylight savings *time* but the changeover can suck it

(I'm one of those "my body wants to sleep from 5 to noon so daylight savings time is strictly better for me personally because it means extra daylight" people)

09.03.2026 15:54 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

Counterpoint: AI is a fucking sham technology built on plagiarism and awful for the environment and being used to collect data about people, and can fuck off. It's not an assistive tool.

You do better.

09.03.2026 15:50 ๐Ÿ‘ 6 ๐Ÿ” 1 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 2

Counterpoint: AI is a fucking sham technology built on plagiarism and awful for the environment and being used to collect data about people, and can fuck off. It's not an assistive tool.

You do better.

09.03.2026 15:50 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

*simple function could be implemented in 3 lines of standard javascript at most

09.03.2026 05:52 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

Modern web dev is like:

Want to do this basic thing? Just use our API and call this one simple function*!

*simple function requires 450 files worth of dependencies.

09.03.2026 05:40 ๐Ÿ‘ 28 ๐Ÿ” 2 ๐Ÿ’ฌ 6 ๐Ÿ“Œ 0

yep, hence why I don't care about those sizes ๐Ÿ˜

08.03.2026 20:57 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

Yep, that's about right then. I think it starts to fall out of L1 cache at 128k size, and then once it hits 512 it can't fit nicely in the 8-way L2 either

08.03.2026 20:53 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

The good news is that it still scales better than the 3rd party ones I'm testing against, it's just that it's worse - only on arm - at those sizes than my previous implementation

I also don't personally care about sizes that large since this is mostly for realtime audio, so it's just a curiosity ๐Ÿ˜€

08.03.2026 20:46 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

While it can work in contiguous blocks, some passes require 16 of them at once, and I'd be willing to bet on the pi 5 that up around 128-512k that's where suddenly the addresses get to the point where all of them map the the same 4- or 8- associative sets and that's why it falls off

08.03.2026 20:44 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 2 ๐Ÿ“Œ 0

Yeah the nice thing about the self-sorting version (at least, as I've designed it - no idea if this is a standard thing) is that it not only eliminates the initial (or final) bit reverse pass, but it always gets to work in contiguous blocks

I actually think I figured out what's going on...

08.03.2026 20:42 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

The thing that makes just recursing into smaller chunks tricky is that I'm doing a self sorting FFT, which changes the memory access patterns in a way that is harder (for me) to reason about - it's more spread out in general

08.03.2026 19:21 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

Thanks!
I understand the basics - in my case the perf cliff happens at about a 256k FFT, which probably means my blocking structure finally hits the limits of cache associativity or something, I'm just not exactly sure why

08.03.2026 19:18 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

Yeah I needed effectively an array of arrays (sub arrays of varying lengths) which is where it fell apart ๐Ÿซ 

08.03.2026 11:03 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

I couldn't figure out a great way to do that with any sort of nesting that didn't require writing a ton of boilerplate

If I ever get my hands on c++26 reflection I have some ideas though ๐Ÿ˜Ž

In the meantime I'm pretty liberal with "= delete" on copy construct/assign

08.03.2026 10:54 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

But for custom math types, SIMD wrappers, etc, it's necessary for code readability to be able to overload even assignment

08.03.2026 10:50 ๐Ÿ‘ 2 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

My main gripe is that C++ makes it too easy to copy most things where a copy is expensive, but there's no world for me in which disallowing a custom assignment is the correct solution.

I'd rather have an explicit "yes I want to do a copy here" operation (like "a = copy(b)" or something)

08.03.2026 10:49 ๐Ÿ‘ 3 ๐Ÿ” 0 ๐Ÿ’ฌ 2 ๐Ÿ“Œ 0

I hope he's okay that looked dangerous ๐Ÿ˜ฌ

08.03.2026 04:17 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0