Of Frameworks and Libraries

I was delivering a lecture on design patterns the other day. A student inquired whether design patterns were libraries. I had to spare some time to explain that this wasn’t the case. A library is a compiled code (of an application) that you can use in any program. By using I mean that you can call its objects, their functions, and properties in another program. This is a great utility of libraries. Consider that you have created an application that has a lot of functions to compute simple mathematical formulae. These could be anything like addition, multiplication, logarithmic, exponential or sinusoidal functions. One thing you can do is to compile it to create an executable program. The other thing you can do is to compile it to create a library. An example of the former is any executable program that a compiler creates. An example of the latter is a “jar” file created using the java compiler. Jar is an acronym for java archive(s). It is called an archive because it is a library that contains a compiled version of your application (your mathematics library).

Read more

Illuminance vs Luminance

It is sometimes worthwhile to understand how various metrics related to the measurement of light intensity work. Two of them are illuminance and luminance. They can sound really mundane and fool the subject into believing that both are actually the same thing. However, they are not. As a matter of fact, they are quite different.

Read more

Figuring Out Functional Dependencies in Relations

A succinct definition of a functional dependency, such as X->Y, is that whenever X assumes a certain value (say x), and for that value of X (x), Y assumes a certain value y, then in every subsequent retrievals of X, whenever X assumes the value x, Y should assume the value y. Thats it! Functional dependency is no more than that. It is a very simple mathematical idea. It is the job of the subsequent normal forms to reduce the dependency of non-key attributes on non-key attributes.

Read more