Ruby is one of the most versatile object oriented programming languages, which was designed explicitly to have a human focus, as compared to the machine focus of many other languages. Developed in the mid-90’s, initially in Japan and then elsewhere, Ruby is based on the “principle of least surprise” (POLS) which states that when two elements of an interface conflict, or are ambiguous, the behavior should be the one that will be least surprising to a human user or programmer. In simple terms that the most obvious behavior is the one that will result. And this is perhaps what gives Ruby its power and in turn has caused Ruby to become one of the most widely used programming languages for the web. There are of course many other useful features in Ruby, including but not limited to Dynamic Typing, Duck Typing, Automatic Garbage Collection, First Class Continuations, an Interactive Ruby Shell, variable scope at four different levels (global, class, instance, local), facilities to support metaprogramming and a standard set of object oriented features (inheritance, metaclasses, exception handling, operator overloading etc.). Finally, Ruby supports a number of programming paradigms: other than object oriented, also functional, imperative, and reflective.
Matchmoving is becoming more and more popular in visual effects world and is also quite interesting to know how to use, and to be able to utilize it within your studio or in your freelance work. In this new digital era where almost every single thing you see on the television or in a movie has CG elements placed into real world footage and you cannot afford not to have a working knowledge in a matchmoving software package. This article features a useful rundown of all the matchmoving software available for purchase and download, and perhaps to give you enough knowledge as to where to take your business as well as your workflow.