As I began to love myself I found that anguish and emotional suffering are only warning signs that I was living against my own truth. Today, I know, this is AUTHENTICITY.

As I began to love myself I understood how much it can offend somebody as I try to force my desires on this person, even though I knew the time was not right and the person was not ready for it, and even though this person was me. Today I call it RESPECT.

As I began to love myself I stopped craving for a different life, and I could see that everything that surrounded me was inviting me to grow. Today I call it MATURITY.

As I began to love myself I understood that at any circumstance, I am in the right place at the right time, and everything happens at the exactly right moment, so I could be calm. Today I call it SELF-CONFIDENCE.

As I began to love myself I quit steeling my own time, and I stopped designing huge projects for the future. Today, I only do what brings me joy and happiness, things I love to do and that make my heart cheer, and I do them in my own way and in my own rhythm. Today I call it SIMPLICITY.

As I began to love myself I freed myself of anything that is no good for my health – food, people, things, situations, and everything that drew me down and away from myself. At first I called this attitude a healthy egoism.Today I know it is LOVE OF ONESELF.

As I began to love myself I quit trying to always be right, and ever since I was wrong less of the time. Today I discovered that is MODESTY.

As I began to love myself I refused to go on living in the past and worry about the future. Now, I only live for the moment, where EVERYTHING is happening. Today I live each day, day by day, and I call it FULFILLMENT.

As I began to love myself I recognized that my mind can disturb me and it can make me sick. But As I connected it to my heart, my mind became a valuable ally. Today I call this connection WISDOM OF THE HEART.

We no longer need to fear arguments, confrontations or any kind of problems with ourselves or others. Even stars collide, and out of their crashing new worlds are born.

Today I know THAT IS “LIFE“!


Bits – 3 times a week comes true

Back in April, 2014, I was busy working around various activities simultaneously: robotics project, Django development, machine learning course, readings, etc — all in my spare time excluding my 6 hours spent at school on a daily basis.

What I ended up doing is sticking with one project at a time for 3 hours straight, and literally leaving everything else untouched. The result was obvious: no books were read, no courses were followed, no jogging was done and heck! I even couldn’t remember Skype with my parents at least once every two weeks! I wasn’t productive enough, I got wore out by sticking to one task and I’m not motivated to work on other stuffs since I didn’t know which one I should be working on.

That’s when I started Bits, yet another project, but one that might bring an end to all these messy scheduling.

here’s how: 

The idea was simple: you tell Bits you want to read this book three times a week, Skype with your parents twice a month and go jogging two times a week — and Bits get everything scheduled for you.



With simplicity in mind, you don’t need to fill out complicated forms or hesitating between if it’s better to repeat a task every Friday or Monday. You tell Bits what you want, and Bits arrange every bits of your life for you.

Using it on a daily basis, I’ve developed achievement mode, statistics report as well as reward mechanism for your first ‘done’s. The better you manage your tasks, the more powerful Bits get. Bits helps me a lot in managing my time in a healthier way, I hope it does the same for you!


Get it on Google Play


If you find any bugs or have any suggestions, just say ‘hi’ at

OCaml, a first glance at functional programming

First impression with Ocaml : powerful, elegant when you know what you are writing about, and bizarre. But that’s opens up a new experience.

let rec concat =
  fun l1 ->
  fun l2 ->
  match (l1, l2) with
    (t1::r1, l) -> t1::(concat r1 l)
    | (l, []) -> l
    | ([], l) -> l;;

let rec map =
  fun f ->
  fun l ->
  match (l) with
    | (t::r) -> (f t)::(map f r)
    | [] -> [];;

let rec partition =
  fun l ->
  match l with
    | (t::r) -> concat (map (fun x -> t::x) (partition r) ) (partition r)
    | (t) -> [t];;

And this gives you all possible partitions of an ensemble.

# partition [3;4;5];;
- : int list list = [[3; 4; 5]; [3; 4]; [3; 5]; [3]; [4; 5]; [4]; [5]; []]