On Standards

Standards are everywhere. The trouble is no one bothers to tell you. When I was working at MusicRebellion, I wasn't aware that there were publicly available documents on the Internet that describe exactly how your browser should communicate with a server. Need to know a little about the HTML MIME type? Just checkout the Internet Engineering Task Force's (IETF) Request For Comments (RFC) 2854. HTTP? Check RFC 2616.

Perhaps you need to know how to implement an Echo Cancellation algorithm that conforms to some standard. One you can look at is the International Telecommunication Union's (ITU) G.168 Echo Cancellation standard. It has guidelines on the rate of convergence and how many decibels an echo canceller should converge to meet spec. Another of their standards is G.711 which describes a-law and mu-law codecs for speech compression/decompression. Another one is the European Telecommunications Standards Institute's (ETSI) GSM, which specifies both the codec and the signaling protocols.

If you work in C a lot, you might want to buy a copy of the ISO/IEC 9899 (C99) standard. Or you might just hang out on comp.lang.c and try to learn that way.

I recently ran into a threading probelem. I couldn't find a solution to my problem given my current understanding of the pthread model. I posted to comp.programming.threading. Someone mentioned that pthreads can be cancelled at certain cancellation points specified by the POSIX standard. If you want to find out which functions are gauranteed to have cancellation points, go on over to opengroup, and have a look at the cancellation point section of the POSIX standard IEEE Std 1003.1.