520 karma · joined August 12, 2013
Debugging it was the really fun part but my earlier career with IBM had taught me how to test software effectively and some embedded work with PAL's (an early form of programmable logic) taught me how to really use state machines. I was surprised how little time it took to write and debug. I don't think you can really appreciate the elegant logic of the regular expression language without implementing it.
I'm a big fan of causality and the flow of time.
It's actually filtering of the browser's output audio samples that remains a total mystery to me. I'm not sure that even can be done which is why I brought it up.
I'm a DSP guy and completely naive relative to web programming. Does this sound like something for which the web audio api is appropriate?
The most obvious deployment to me would be a plugin, assuming one can access the outgoing audio stream, but that would not, of course, be browser agnostic.
One problem with that. Ionizing radiation is not on the electromagnetic spectrum. It's particles with rest mass.
John subsequently invented Risc architecture and supervised the construction of the first machine because his work with the compiler had led him to the conclusion that, for compilers, existing instruction sets were all wrong. It ultimately became the Power PC architecture.
John also won the Turing award for his many contributions to computer science which didn't exist as a field until long after he began. Or when I began for that matter. :-)
Cooley and Tukey invented the fast Fourier transform although I've read that Gauss had preceded them with little notice. When I was in school it was still called the Cooley-Tukey algorithm and considered a bit of a miracle. FFT rolled off the tongue a bit easier and supplanted the name. At that time the term Digital Signal Processing also remained in the future.
I sorta hate to break it to you but we knew all that back then. I don't think any other point of view was even considered.
Gotta wonder, however, why on earth I would share more than that publicly if I wanted to earn anything from it.
Do you expect the open source pickup by Multyvac to be a bust?
There are reasons for wanting a mask that are legal, ethical and mandatory. My life is of more than middlin' importance to me.
I totally fail to understand the crass blindness of those who limit their reasoning to their own bland case.
This could be great for authors since Google will have already have done all the hard work of creating the electronic object and providing availability.
He clearly told us in advance that depression such as his was not to be suffered and when all was said and done he left me sympathetic with that point of view.
His attitude is just as unique as his thought process.
Many other functions could be used in those tables which have the properties of orthogonality and completeness and the decomposition would still be one to one and self invertible. The wavelet transform, for example, which doesn't even pretend to be complex.
It was the understanding of wavelet theory that made me realize that sin and cosine decomposition (the Fourier basis) is just one of many.
The 0th entry in the first table is just the number one repeated N times. The 1st entry in the table is a sampled sinusoid with a period exactly equal to T. The 2nd is a sampled sinusoid with a period of one half T (twice the frequency of the 1st.) The third is a sampled sinusoid with a period one 3rd of T (three times the frequency of the 1st.) The fourth has a period one 4th of 1st (four times the frequency of the first.) You get the point. The last entry in the table is a sampled sinusoid with a period of just two samples, i.e. the signal alternates between +1 and -1 throughout its duration. Scratch your head a bit and you'll see that this yields exactly N/2+1 entries.
The second table is the same as the first except that sampled cosinusiods (the quaduratures) are used instead of sinusoids.
Now it's time to do the transform. Multiply the signal to be transformed sample by sample with the 0th entry of the first table and sum the result (the signal processing name for this vector inner product is correlation.) Record that number as the 0th result. Do the same with the 1st signal in the table and record that as the 1st result. Do this until all N/2+1 results are recorded. For mathimagical reasons we call this vector of numbers the "real" part.
Repeat this for the second table (the sampled cosinusoids) and call this vector of numbers the "imaginary" part.
That's it. Those two vectors, which we combine into a N/2+1 by 2 column matrix, are the discrete fourier transform of the signal.
It gets all weird when this is mathimaticalized with complex algebra and the convenient identities and concise notation it puts on the table but that's just artifice and in the end the above is all there is to it. Nature never ever evidenced a truly complex or imaginary signal until Bohr, et. al. found things deep down that couldn't do without them.
Formalizing at it that way, though led Cooley and Tukey to visualize the matrix decomposition that led them to the fast logarithmic time transform that revolutionized signal processing. I think I read that Gauss actually beat them to it but when I was getting educated that part of Gauss's work remained in obscurity and those guys were the gods that had just brought it into the computational realm.