When Free Software is Not Free

The Free Software movement was created with the assumption that software should be freely modified by its users. The main premise being that having the rights of using a program also means the right of modifying it when necessary. Free software exists today in different forms, and it is widely used, however in many situations…

Object Interfaces versus Concrete Code

Although lots of people design object oriented systems, few notice the reason why them sometimes don’t work as planed. While such systems were created to reduce complexity, several object oriented design become extremely complicated. Especially when we start to add design patterns to solve even simple problems. Frequently, OO systems are the right solution for…