Interesting articles, infortunatly it has many typos:
framebuffer is initiated full yellow, not black;
pixel in code should be firePixel[src];
randomness should be applied symmetrically with rand+1 in [-1;1].
I don't think it matters if the randomness is not applied symmetrically and the fire moves slightly to the left. I also can't comprehend the part about the framebuffer being initiated yellow and not black.