TimeLinux1

Tuesday, December 3, 2013

Business Legal Musings - 1



Some commonly used Business Terms regarding Intellectual Property:

Invention = Any new Idea or Creative work or improvement in existing product/idea.
   eg: A new recipe for Ketchup.

Intellectual Property = An Invention legally owned by Inventor.
   eg: Inventors copy of the recipe for the Ketchup with legal evidence to show ownership.

Patent = Exclusive legal right to own and use an Invention.
   eg: Legal Evidence & Acknowledgement by Patent Office to the Inventor of the Ketchup's Recipe.
Note: Patents Expire. Usually granted for 15-20 years.
Note: Patents are usually for Design/Technical/Science related IP. 
Note: The equivalent term for Patents For Artistic IP (eg Music, Literature or Recipe) is Copyright. Like Patents, Copyrights too expire after certain time but usually after longer time(70-100+ years).
Note: The concept of Patents is a superset of Copyright in terms of legal rights.
   eg: whereas copyright will protect against verbatim copy of the Ketchup Recipe (ie Plagiarism) it wont protect if there is minor differences in the wording of two recipes. 
   Patent will actually prevent anyone but the IP owner to even attempt to make a similar Ketchup Recipe.
   This is especially true in case of Computer Software Patents.

Innovation = Popularizing an Invention usually through Marketing, Sales & PR.
   eg: Mass production and sale of the new Ketchup.

Trademark = A Symbol for an Innovation (for exclusive use by someone).
   eg: a logo for the Ketchup.

Royalty = Fee paid to the Inventor or Innovator for sharing their Intellectual Property.
   eg: Fee paid to the Inventor or Innovator to gain access to their Ketchup Recipe.

Public Domain = Public property; Allowing Unrestricted Access to an Invention/Innovation.
   eg: Once the Ketchup Recipe Patent (or rather Copyright) expires, the Recipe becomes Public Property; i.e., Royalties no longer need be paid for using the Recipe.

Sunday, December 1, 2013

Pointer Refresher in C Language:

Here is a short Pointer Refresher in C Language:

-pointers: variables that hold the 'memory address' of another variable
-They are declared using '*' operator and initialized using '&' operator.
-eg:
$ cat -n ptr0.c 
    1 #include <stdio.h>
      2
      3 int main()
      4 {
      5 int num;
      6 int *pnum; /* pointer declaration */
      7 pnum=&num; /* pointer initialization */
      8 num=57;
      9 printf("\n Value of variable num = %d.", num);
    10 *pnum=23; /* indirect invocation of value of variable num via pointer */
    11 printf("\n New value of variable num = %d.", num);
    12 printf("\n The first value was direct invocation of variable.");
    13 printf("\n The second value was an indirect invocation of variable, using a pointer.");
    14 printf("\n Good bye.\n");
    15 return 0;
    16 }

-advantages of Pointers:
.allow dynamic allocation of mem /* see '*pum=23;' in above code */
.allow functions to modify calling argument

-void pointer:
.is defined as 'void *pointervar'
.its type is unknown and can thus receive a parameter that receive any type of pointer argument
.in other words, during value assignment, no explicit cast is required.
-see below code for void pointer illustration:
$ cat -n voidptr.c 
      1 #include <stdio.h>
      2
      3 int main()
      4 {
      5 int i=5;
      6 char ch='M';
      7 void *ptr; /* declaring a void pointer */
      8
      9 ptr=&i; /* initialize ptr with an integer var addr */
    10 printf("\n Pointer ptr now points to an integer %d.", *(int *)ptr);
    11 ptr=&ch; /* initialize ptr with an character var addr */
    12 printf("\n Pointer ptr now points to a char %c.", *(char *)ptr);
    13 printf("\n The same pointer was used to point to an integer and then to a char.");
    14 printf("\n This was possible only due to a void pointer.");
    15 printf("\n Good bye.");
    16
    17 return 0;
    18 }
    19