Saturday, November 12, 2011
Automated Source Code Verification
Thursday, November 10, 2011
Productive Reading vs Consumptive Reading
After being on the "consumptive reading" side (without being aware) for a couple of months I realized that there are actually two types of reading habit which I have to be always aware of in order to avoid wasting my time on not so important things. They are consumptive reading and productive reading.
I defined consumptive reading as reading information which has no immediate benefit outside of knowing "something is happening and have no immediate consequences on oneself". It does add to one's knowledge but have no immediate effect or impact in productivity (measured by useful output). To put it bluntly, it's "distraction" that consumes ones energy. On the other hand, productive reading is reading information which has immediate effect on ones work, which adds value to ones work by either shorten the time required to finish ones work or helps in other way(s) or will help on other "not so immediate" work.
It's rather easy to recognize consumptive reading. Ask yourself whether what you're currently reading adds immediate value to what you're working on. Whether it improves your skillset or specific knowledge. If it's not, then what you're doing is consumptive reading. If you're not in your "leisure time". Then, it's better to avoid doing consumptive reading because it eats into time available for productive reading or other activities which much more useful for you.
Recognizing these two types of reading "habit" is important in the age of "information overload" like now because we have very limited time to live and we should not waste it. This is not about money or anything. It's about appreciation to life itself. To live life to its fullest :-).
Thursday, November 3, 2011
Open Question on DJBX33A Hash Function
hash_t bernstein_hash(const unsigned char *key) { hash_t h=0; while(*key) h=33*h + *key++; return h; }[Code snippet courtesy of http://en.literateprograms.org/Hash_function_comparison_(C,_sh)]. I wonder if the value was obtained from some sort of mathematical formulae or based results of numerous experiments? Well, yeah. Hashing is still a sort of black-art even now. But, I think there should be some sort of logical explanation.