3 ms·
How would you make, say, a fourier transform or IIR filter design accessible to people who don't know any signal processing or complex numbers? You can spend y
by Derbasti 8y ago
How would you make, say, a fourier transform or IIR filter design accessible to people who don't know any signal processing or complex numbers?
You can spend years studying these topics and their related math. Entire text books have been written on these subjects. Any one algorithm probably has multiple scientific publications, explaining how and why they work.
This much information can not fit into a few code comments and a README or two. Especially not in a format accessible to people without domain knowledge.
- gravypod 8y agoYou don't need to understand FFTs to understand how to update good software. If there's a segfault generated by a program and I can run it though a debugger I should be able to fix the segfault without explicit domain knowledge of the code. My modifications should be testable via unit tests. There should also be a formalized process to incorporate my changes into the authoritative codebase. That process should contain a code reviewing process where one or more experts on the codebase critique my code. These are all software engineering things that have nothing to do with domain knowledge.
- dekhn 8y agoNothing about spectral transforms requires complicated software, beyond the need to optimize the algorithms. Sure, the inner components need specialists. No complaint there. But it's not like your stuff is "complicated". I guess the counter argument is something like Goto BLAS, where the author has an extremely complex internal mental model of Intel instruction scheduling and can emit incomprehensible, but absurdly fast instruction sequences. But of course, the BLAS API is dead simple and almost nobody using it needs to know the underlying solver complexity in detail.