Mathematical Reasoning Series:

Have you has problems understand proof in physics or maths books? Yes I have, and I did not know why until I took basic algebra class to prepare myself for Master Degree in Mathematics. There, I learn about mathematical reasoning, and realize that what I am missing. In this series, I show different proof techniques, start with Mathematical Induction. I will add more later.

But first, I finish putting together blogs try to convince people that learning mathematics important, specially for computer sciences. This is a good introduction chapter for the series.

I have been ready about design pattern, GoF, Head First, Ruby design pattern, Enterprise design pattern , etc. I always have "what if" questions, such as what if I implement this in ruby? How is that going to look like in java or C/C++, is that possible to implement this pattern in erlang?, etc ... And here is my answer to those questions.
  1. Favor composition over inheritance, the first of this series. It is my answer to the question: how it's going to look like when I implement strategy pattern with ruby? And it's also evolved into some thing else a little bit.
  2. The second pattern, Observer. I thought is going to be easy, turn out to be not. First of all, ruby has a module implement this patter in standard lib. Also what the different between Publisher and Observer pattern. Some say, it's the same, some don't!